From 7b0874740ec4b1dbf94bd83c50f6665444077835 Mon Sep 17 00:00:00 2001 From: sr55 Date: Sat, 11 Feb 2017 15:13:29 +0000 Subject: [PATCH] WinGui: Remove CSV Reader library as we no longer use it. --- .../CsvReader/LumenWorks.Framework.IO.XML | 1538 ----------------- .../CsvReader/LumenWorks.Framework.IO.dll | Bin 37888 -> 0 bytes .../CsvReader/LumenWorks.Framework.IO.pdb | Bin 97792 -> 0 bytes 3 files changed, 1538 deletions(-) delete mode 100644 win/CS/libraries/CsvReader/LumenWorks.Framework.IO.XML delete mode 100644 win/CS/libraries/CsvReader/LumenWorks.Framework.IO.dll delete mode 100644 win/CS/libraries/CsvReader/LumenWorks.Framework.IO.pdb diff --git a/win/CS/libraries/CsvReader/LumenWorks.Framework.IO.XML b/win/CS/libraries/CsvReader/LumenWorks.Framework.IO.XML deleted file mode 100644 index a3fb2763f..000000000 --- a/win/CS/libraries/CsvReader/LumenWorks.Framework.IO.XML +++ /dev/null @@ -1,1538 +0,0 @@ - - - - LumenWorks.Framework.IO - - - - - Represents a reader that provides fast, cached, dynamic access to CSV data. - - The number of records is limited to - 1. - - - - Represents a reader that provides fast, non-cached, forward-only access to CSV data. - - - - - Defines the default buffer size. - - - - - Defines the default delimiter character separating each field. - - - - - Defines the default quote character wrapping every field. - - - - - Defines the default escape character letting insert quotation characters inside a quoted field. - - - - - Defines the default comment character indicating that a line is commented out. - - - - - Contains the field header comparer. - - - - - Contains the pointing to the CSV file. - - - - - Contains the buffer size. - - - - - Contains the comment character indicating that a line is commented out. - - - - - Contains the escape character letting insert quotation characters inside a quoted field. - - - - - Contains the delimiter character separating each field. - - - - - Contains the quotation character wrapping every field. - - - - - Determines which values should be trimmed. - - - - - Indicates if field names are located on the first non commented line. - - - - - Contains the default action to take when a parsing error has occured. - - - - - Contains the action to take when a field is missing. - - - - - Indicates if the reader supports multiline. - - - - - Indicates if the reader will skip empty lines. - - - - - Indicates if the class is initialized. - - - - - Contains the field headers. - - - - - Contains the dictionary of field indexes by header. The key is the field name and the value is its index. - - - - - Contains the current record index in the CSV file. - A value of means that the reader has not been initialized yet. - Otherwise, a negative value means that no record has been read yet. - - - - - Contains the starting position of the next unread field. - - - - - Contains the index of the next unread field. - - - - - Contains the array of the field values for the current record. - A null value indicates that the field have not been parsed. - - - - - Contains the maximum number of fields to retrieve for each record. - - - - - Contains the read buffer. - - - - - Contains the current read buffer length. - - - - - Indicates if the end of the reader has been reached. - - - - - Indicates if the last read operation reached an EOL character. - - - - - Indicates if the first record is in cache. - This can happen when initializing a reader with no headers - because one record must be read to get the field count automatically - - - - - Indicates if one or more field are missing for the current record. - Resets after each successful record read. - - - - - Indicates if a parse error occured for the current record. - Resets after each successful record read. - - - - - Initializes a new instance of the CsvReader class. - - A pointing to the CSV file. - if field names are located on the first non commented line, otherwise, . - - is a . - - - Cannot read from . - - - - - Initializes a new instance of the CsvReader class. - - A pointing to the CSV file. - if field names are located on the first non commented line, otherwise, . - The buffer size in bytes. - - is a . - - - Cannot read from . - - - - - Initializes a new instance of the CsvReader class. - - A pointing to the CSV file. - if field names are located on the first non commented line, otherwise, . - The delimiter character separating each field (default is ','). - - is a . - - - Cannot read from . - - - - - Initializes a new instance of the CsvReader class. - - A pointing to the CSV file. - if field names are located on the first non commented line, otherwise, . - The delimiter character separating each field (default is ','). - The buffer size in bytes. - - is a . - - - Cannot read from . - - - - - Initializes a new instance of the CsvReader class. - - A pointing to the CSV file. - if field names are located on the first non commented line, otherwise, . - The delimiter character separating each field (default is ','). - The quotation character wrapping every field (default is '''). - - The escape character letting insert quotation characters inside a quoted field (default is '\'). - If no escape character, set to '\0' to gain some performance. - - The comment character indicating that a line is commented out (default is '#'). - Determines which values should be trimmed. - - is a . - - - Cannot read from . - - - - - Initializes a new instance of the CsvReader class. - - A pointing to the CSV file. - if field names are located on the first non commented line, otherwise, . - The delimiter character separating each field (default is ','). - The quotation character wrapping every field (default is '''). - - The escape character letting insert quotation characters inside a quoted field (default is '\'). - If no escape character, set to '\0' to gain some performance. - - The comment character indicating that a line is commented out (default is '#'). - Determines which values should be trimmed. - The buffer size in bytes. - - is a . - - - must be 1 or more. - - - - - Raises the event. - - The that contains the event data. - - - - Gets the field headers. - - The field headers or an empty array if headers are not supported. - - The instance has been disposed of. - - - - - Ensures that the reader is initialized. - - - - - Gets the field index for the provided header. - - The header to look for. - The field index for the provided header. -1 if not found. - - The instance has been disposed of. - - - - - Copies the field array of the current record to a one-dimensional array, starting at the beginning of the target array. - - The one-dimensional that is the destination of the fields of the current record. - - is . - - - The number of fields in the record is greater than the available space from to the end of . - - - - - Copies the field array of the current record to a one-dimensional array, starting at the beginning of the target array. - - The one-dimensional that is the destination of the fields of the current record. - The zero-based index in at which copying begins. - - is . - - - is les than zero or is equal to or greater than the length . - - - No current record. - - - The number of fields in the record is greater than the available space from to the end of . - - - - - Gets the current raw CSV data. - - Used for exception handling purpose. - The current raw CSV data. - - - - Indicates whether the specified Unicode character is categorized as white space. - - A Unicode character. - if is white space; otherwise, . - - - - Moves to the specified record index. - - The record index. - true if the operation was successful; otherwise, false. - - The instance has been disposed of. - - - - - Parses a new line delimiter. - - The starting position of the parsing. Will contain the resulting end position. - if a new line delimiter was found; otherwise, . - - The instance has been disposed of. - - - - - Determines whether the character at the specified position is a new line delimiter. - - The position of the character to verify. - - if the character at the specified position is a new line delimiter; otherwise, . - - - - - Fills the buffer with data from the reader. - - if data was successfully read; otherwise, . - - The instance has been disposed of. - - - - - Reads the field at the specified index. - Any unread fields with an inferior index will also be read as part of the required parsing. - - The field index. - Indicates if the reader is currently initializing. - Indicates if the value(s) are discarded. - - The field at the specified index. - A indicates that an error occured or that the last field has been reached during initialization. - - - is out of range. - - - There is no current record. - - - The CSV data appears to be missing a field. - - - The CSV data appears to be malformed. - - - The instance has been disposed of. - - - - - Reads the next record. - - if a record has been successfully reads; otherwise, . - - The instance has been disposed of. - - - - - Reads the next record. - - - Indicates if the reader will proceed to the next record after having read headers. - if it stops after having read headers; otherwise, . - - - Indicates if the reader will skip directly to the next line without parsing the current one. - To be used when an error occurs. - - if a record has been successfully reads; otherwise, . - - The instance has been disposed of. - - - - - Skips empty and commented lines. - If the end of the buffer is reached, its content be discarded and filled again from the reader. - - - The position in the buffer where to start parsing. - Will contains the resulting position after the operation. - - if the end of the reader has not been reached; otherwise, . - - The instance has been disposed of. - - - - - Worker method. - Skips empty and commented lines. - - - The position in the buffer where to start parsing. - Will contains the resulting position after the operation. - - - The instance has been disposed of. - - - - - Skips whitespace characters. - - The starting position of the parsing. Will contain the resulting end position. - if the end of the reader has not been reached; otherwise, . - - The instance has been disposed of. - - - - - Skips ahead to the next NewLine character. - If the end of the buffer is reached, its content be discarded and filled again from the reader. - - - The position in the buffer where to start parsing. - Will contains the resulting position after the operation. - - if the end of the reader has not been reached; otherwise, . - - The instance has been disposed of. - - - - - Handles a parsing error. - - The parsing error that occured. - The current position in the buffer. - - is . - - - - - Handles a missing field error. - - The partially parsed value, if available. - The missing field index. - The current position in the raw data. - - The resulting value according to . - If the action is set to , - then the parse error will be handled according to . - - - - - Validates the state of the data reader. - - The validations to accomplish. - - No current record. - - - This operation is invalid when the reader is closed. - - - - - Copy the value of the specified field to an array. - - The index of the field. - The offset in the field value. - The destination array where the field value will be copied. - The destination array offset. - The number of characters to copy from the field value. - - - - - Returns an that can iterate through CSV records. - - An that can iterate through CSV records. - - The instance has been disposed of. - - - - - Returns an that can iterate through CSV records. - - An that can iterate through CSV records. - - The instance has been disposed of. - - - - - Returns an that can iterate through CSV records. - - An that can iterate through CSV records. - - The instance has been disposed of. - - - - - Contains the disposed status flag. - - - - - Contains the locking object for multi-threading purpose. - - - - - Raises the event. - - A that contains the event data. - - - - Checks if the instance has been disposed of, and if it has, throws an ; otherwise, does nothing. - - - The instance has been disposed of. - - - Derived classes should call this method at the start of all methods and properties that should not be accessed after a call to . - - - - - Releases all resources used by the instance. - - - Calls with the disposing parameter set to to free unmanaged and managed resources. - - - - - Releases the unmanaged resources used by this instance and optionally releases the managed resources. - - - to release both managed and unmanaged resources; to release only unmanaged resources. - - - - - Releases unmanaged resources and performs other cleanup operations before the instance is reclaimed by garbage collection. - - - - - Occurs when there is an error while parsing the CSV stream. - - - - - Gets the comment character indicating that a line is commented out. - - The comment character indicating that a line is commented out. - - - - Gets the escape character letting insert quotation characters inside a quoted field. - - The escape character letting insert quotation characters inside a quoted field. - - - - Gets the delimiter character separating each field. - - The delimiter character separating each field. - - - - Gets the quotation character wrapping every field. - - The quotation character wrapping every field. - - - - Indicates if field names are located on the first non commented line. - - if field names are located on the first non commented line, otherwise, . - - - - Indicates if spaces at the start and end of a field are trimmed. - - if spaces at the start and end of a field are trimmed, otherwise, . - - - - Gets the buffer size. - - - - - Gets or sets the default action to take when a parsing error has occured. - - The default action to take when a parsing error has occured. - - - - Gets or sets the action to take when a field is missing. - - The action to take when a field is missing. - - - - Gets or sets a value indicating if the reader supports multiline fields. - - A value indicating if the reader supports multiline field. - - - - Gets or sets a value indicating if the reader will skip empty lines. - - A value indicating if the reader will skip empty lines. - - - - Gets or sets the default header name when it is an empty string or only whitespaces. - The header index will be appended to the specified name. - - The default header name when it is an empty string or only whitespaces. - - - - Gets the maximum number of fields to retrieve for each record. - - The maximum number of fields to retrieve for each record. - - The instance has been disposed of. - - - - - Gets a value that indicates whether the current stream position is at the end of the stream. - - if the current stream position is at the end of the stream; otherwise . - - - - Gets the current record index in the CSV file. - - The current record index in the CSV file. - - - - Indicates if one or more field are missing for the current record. - Resets after each successful record read. - - - - - Indicates if a parse error occured for the current record. - Resets after each successful record read. - - - - - Gets the field with the specified name and record position. must be . - - - The field with the specified name and record position. - - - is or an empty string. - - - The CSV does not have headers ( property is ). - - - not found. - - - Record index must be > 0. - - - Cannot move to a previous record in forward-only mode. - - - Cannot read record at . - - - The CSV appears to be corrupt at the current position. - - - The instance has been disposed of. - - - - - Gets the field at the specified index and record position. - - - The field at the specified index and record position. - A is returned if the field cannot be found for the record. - - - must be included in [0, [. - - - Record index must be > 0. - - - Cannot move to a previous record in forward-only mode. - - - Cannot read record at . - - - The CSV appears to be corrupt at the current position. - - - The instance has been disposed of. - - - - - Gets the field with the specified name. must be . - - - The field with the specified name. - - - is or an empty string. - - - The CSV does not have headers ( property is ). - - - not found. - - - The CSV appears to be corrupt at the current position. - - - The instance has been disposed of. - - - - - Gets the field at the specified index. - - The field at the specified index. - - must be included in [0, [. - - - No record read yet. Call ReadLine() first. - - - The CSV appears to be corrupt at the current position. - - - The instance has been disposed of. - - - - - Occurs when the instance is disposed of. - - - - - Gets a value indicating whether the instance has been disposed of. - - - if the instance has been disposed of; otherwise, . - - - - - Supports a simple iteration over the records of a . - - - - - Contains the enumerated . - - - - - Contains the current record. - - - - - Contains the current record index. - - - - - Initializes a new instance of the class. - - The to iterate over. - - is a . - - - - - Advances the enumerator to the next record of the CSV. - - if the enumerator was successfully advanced to the next record, if the enumerator has passed the end of the CSV. - - - - Sets the enumerator to its initial position, which is before the first record in the CSV. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Gets the current record. - - - - - Gets the current record. - - - - - Defines the data reader validations. - - - - - No validation. - - - - - Validate that the data reader is initialized. - - - - - Validate that the data reader is not closed. - - - - - Contains the cached records. - - - - - Contains the current record index (inside the cached records array). - - - - - Indicates if a new record is being read from the CSV stream. - - - - - Contains the binding list linked to this reader. - - - - - Initializes a new instance of the CsvReader class. - - A pointing to the CSV file. - if field names are located on the first non commented line, otherwise, . - - is a . - - - Cannot read from . - - - - - Initializes a new instance of the CsvReader class. - - A pointing to the CSV file. - if field names are located on the first non commented line, otherwise, . - The buffer size in bytes. - - is a . - - - Cannot read from . - - - - - Initializes a new instance of the CsvReader class. - - A pointing to the CSV file. - if field names are located on the first non commented line, otherwise, . - The delimiter character separating each field (default is ','). - - is a . - - - Cannot read from . - - - - - Initializes a new instance of the CsvReader class. - - A pointing to the CSV file. - if field names are located on the first non commented line, otherwise, . - The delimiter character separating each field (default is ','). - The buffer size in bytes. - - is a . - - - Cannot read from . - - - - - Initializes a new instance of the CsvReader class. - - A pointing to the CSV file. - if field names are located on the first non commented line, otherwise, . - The delimiter character separating each field (default is ','). - The quotation character wrapping every field (default is '''). - - The escape character letting insert quotation characters inside a quoted field (default is '\'). - If no escape character, set to '\0' to gain some performance. - - The comment character indicating that a line is commented out (default is '#'). - Determines how values should be trimmed. - - is a . - - - Cannot read from . - - - - - Initializes a new instance of the CsvReader class. - - A pointing to the CSV file. - if field names are located on the first non commented line, otherwise, . - The delimiter character separating each field (default is ','). - The quotation character wrapping every field (default is '''). - - The escape character letting insert quotation characters inside a quoted field (default is '\'). - If no escape character, set to '\0' to gain some performance. - - The comment character indicating that a line is commented out (default is '#'). - if spaces at the start and end of a field are trimmed, otherwise, . Default is . - The buffer size in bytes. - - is a . - - - must be 1 or more. - - - - - Reads the CSV stream from the current position to the end of the stream. - - - The instance has been disposed of. - - - - - Reads the next record. - - - Indicates if the reader will proceed to the next record after having read headers. - if it stops after having read headers; otherwise, . - - - Indicates if the reader will skip directly to the next line without parsing the current one. - To be used when an error occurs. - - if a record has been successfully reads; otherwise, . - - The instance has been disposed of. - - - - - Moves before the first record. - - - - - Moves to the last record read so far. - - - - - Moves to the specified record index. - - The record index. - true if the operation was successful; otherwise, false. - - The instance has been disposed of. - - - - - Gets the current record index in the CSV file. - - The current record index in the CSV file. - - - - Gets a value that indicates whether the current stream position is at the end of the stream. - - if the current stream position is at the end of the stream; otherwise . - - - - Gets the field at the specified index. - - The field at the specified index. - - must be included in [0, [. - - - No record read yet. Call ReadLine() first. - - - The CSV data appears to be missing a field. - - - The CSV appears to be corrupt at the current position. - - - The instance has been disposed of. - - - - - Represents a binding list wrapper for a CSV reader. - - - - - Contains the linked CSV reader. - - - - - Contains the cached record count. - - - - - Contains the cached property descriptors. - - - - - Contains the current sort property. - - - - - Contains the current sort direction. - - - - - Initializes a new instance of the CsvBindingList class. - - - - - - Represents a CSV record comparer. - - - - - Contains the field index of the values to compare. - - - - - Contains the sort direction. - - - - - Initializes a new instance of the CsvRecordComparer class. - - The field index of the values to compare. - The sort direction. - - - - Represents a CSV field property descriptor. - - - - - Contains the field index. - - - - - Initializes a new instance of the CsvPropertyDescriptor class. - - The field name. - The field index. - - - - Gets the field index. - - The field index. - - - - Represents the exception that is thrown when a CSV file is malformed. - - - - - Contains the message that describes the error. - - - - - Contains the raw data when the error occured. - - - - - Contains the current field index. - - - - - Contains the current record index. - - - - - Contains the current position in the raw data. - - - - - Initializes a new instance of the MalformedCsvException class. - - - - - Initializes a new instance of the MalformedCsvException class. - - The message that describes the error. - - - - Initializes a new instance of the MalformedCsvException class. - - The message that describes the error. - The exception that is the cause of the current exception. - - - - Initializes a new instance of the MalformedCsvException class. - - The raw data when the error occured. - The current position in the raw data. - The current record index. - The current field index. - - - - Initializes a new instance of the MalformedCsvException class. - - The raw data when the error occured. - The current position in the raw data. - The current record index. - The current field index. - The exception that is the cause of the current exception. - - - - Initializes a new instance of the MalformedCsvException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - - When overridden in a derived class, sets the with information about the exception. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - - Gets the raw data when the error occured. - - The raw data when the error occured. - - - - Gets the current position in the raw data. - - The current position in the raw data. - - - - Gets the current record index. - - The current record index. - - - - Gets the current field index. - - The current record index. - - - - Gets a message that describes the current exception. - - A message that describes the current exception. - - - - Represents the exception that is thrown when a there is a missing field in a record of the CSV file. - - - MissingFieldException would have been a better name, but there is already a . - - - - - Initializes a new instance of the MissingFieldCsvException class. - - - - - Initializes a new instance of the MissingFieldCsvException class. - - The message that describes the error. - - - - Initializes a new instance of the MissingFieldCsvException class. - - The message that describes the error. - The exception that is the cause of the current exception. - - - - Initializes a new instance of the MissingFieldCsvException class. - - The raw data when the error occured. - The current position in the raw data. - The current record index. - The current field index. - - - - Initializes a new instance of the MissingFieldCsvException class. - - The raw data when the error occured. - The current position in the raw data. - The current record index. - The current field index. - The exception that is the cause of the current exception. - - - - Initializes a new instance of the MissingFieldCsvException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - - Specifies the action to take when a parsing error has occured. - - - - - Raises the event. - - - - - Tries to advance to next line. - - - - - Throws an exception. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Buffer size must be 1 or more.. - - - - - Looks up a localized string similar to Cannot move to a previous record in forward-only mode.. - - - - - Looks up a localized string similar to Cannot read record at index '{0}'.. - - - - - Looks up a localized string similar to Enumeration has either not started or has already finished.. - - - - - Looks up a localized string similar to Collection was modified; enumeration operation may not execute.. - - - - - Looks up a localized string similar to '{0}' field header not found.. - - - - - Looks up a localized string similar to Field index must be included in [0, FieldCount[. Specified field index was : '{0}'.. - - - - - Looks up a localized string similar to The CSV appears to be corrupt near record '{0}' field '{1} at position '{2}'. Current raw data : '{3}'.. - - - - - Looks up a localized string similar to '{0}' is not a supported missing field action.. - - - - - Looks up a localized string similar to No current record.. - - - - - Looks up a localized string similar to The CSV does not have headers (CsvReader.HasHeaders property is false).. - - - - - Looks up a localized string similar to The number of fields in the record is greater than the available space from index to the end of the destination array.. - - - - - Looks up a localized string similar to '{0}' is not a valid ParseErrorAction while inside a ParseError event.. - - - - - Looks up a localized string similar to '{0}' is not a supported ParseErrorAction.. - - - - - Looks up a localized string similar to This operation is invalid when the reader is closed.. - - - - - Looks up a localized string similar to Record index must be 0 or more.. - - - - - Specifies the action to take when a field is missing. - - - - - Treat as a parsing error. - - - - - Replaces by an empty value. - - - - - Replaces by a null value (). - - - - - Provides data for the event. - - - - - Contains the error that occured. - - - - - Contains the action to take. - - - - - Initializes a new instance of the ParseErrorEventArgs class. - - The error that occured. - The default action to take. - - - - Gets the error that occured. - - The error that occured. - - - - Gets or sets the action to take. - - The action to take. - - - diff --git a/win/CS/libraries/CsvReader/LumenWorks.Framework.IO.dll b/win/CS/libraries/CsvReader/LumenWorks.Framework.IO.dll deleted file mode 100644 index 8dff10951a2a37f8253d6bb290e76d819b83cbbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37888 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 z zbQ8K6%|{E+EodR~(XHq zfmWhb=n=FUtwE2X$I#>G3G^g-3av%!(9`G{^ekGB{>|ZCGPm{LoWcL|wnuB=Zv@(u A{Qv*} -- 2.40.0