TvdbLib Huffman tree used for inflation Literal length tree Distance tree Constructs a Huffman tree from the array of code lengths. the array of code lengths Reads the next symbol from input. The symbol is encoded using the huffman tree. input the input source. the next symbol, or -1 if not enough input is available. Logs internal messages Logs the message at level Debug Message to log Logs the message at level Debug Message to log Exception to log Logs the message at level info Message to log Logs the message at level info Message to log Exception to log Logs the message at level Warn Message to log Logs the message at level Warn Message to log Exception to log Logs the message at level Error Message to log Logs the message at level Error Message to log Exception to log Logs the message at level Fatal Message to log Logs the message at level Fatal Message to log Exception to log Logs the message at the given level Message to log Level to log The loglevel that is currently used (default = warn) Loglevel Logs debug messages Logs info messages Logs warn messages Logs error messages Logs fatal messages This class represents all fields that are available on http://thetvdb.com and a list of episodefields. This is used for localised series information. These are as follows: 73739 |Malcolm David Kelley|Jorge Garcia|Maggie Grace|...| Thursday 9:00 PM TV-14 2004-09-22 |Action and Adventure|Drama|Science-Fiction| tt0411008 en ABC After Oceanic Air flight 815... 8.9 60 24313 Lost Continuing graphical/24313-g2.jpg fanart/original/73739-1.jpg 1205694666 SH672362 TvdbSeriesFields constructor Returns a short description of the episode (e.g. 1x20 Episodename) short description of the episode Gets the episodes for the given season in the given order (aired or dvd). Absolute is also possible but makes no sense since there are no seasons with absoulte ordering. Use GetEpisodesAbsoluteOrder() instead. For more information on episode ordering thetvdb wiki List of episodes Returns all episodes in the absolute order List of episodes Update all fields of the object with the given information the fields for the update Should the episodes be replaced or kept List of episodes for this translation Is the episode info loaded Series Id Series Name Series network The language of the series Content-Rating of the series Zap2it Id of the series When was the series updated the last time Path to the primary fanart banner Path to primary banner Path to the primary poster Status of the show Tv.com id of the series Runtime of the show Rating of the series Overview of the series Imdb Id of the series List of the series' genres The Date the series was first aired At which time does the series air At which day of the week does the series air List of actors that appear in this series TvdbData contains a list of series, a list of languages and a list of mirror TvdbData constructor TvdbData constructor List of available languages When was the last time thetvdb has been checked for updates List of all available languages An actor poster * Actor images must be 300px x 450px and must fill the entire image. Do not add black bars to the sides to get it to that size. * Actor images must be smaller than 100kb * Low quality images should not be scaled up to fit the resolution. Use only high quality art. * Actor images should show the actor in that particular role, wearing the clothes/makeup they'd wear on the series. Unless it's a cartoon, in which case just a normal picture of the voice actor will do. * Try to shy away from full body shots. Ideally include some upper body but don't go to far past the waist. * No nudity, even if the actor is playing the role of a striper who is almost always nude, the images must be family safe. Tvdb Banners are the graphical element of tvdb. There are different types of banners which are representet by sub-classes in this library. These subclasses are: TvdbEpisodeBanner Each episode may contain a small image that should be an non-spoiler action shot from the episode (http://thetvdb.com/wiki/index.php/Episode_Images) TvdbFanartBanner Fan Art is high quality artwork that is displayed in the background of HTPC menus (http://thetvdb.com/wiki/index.php/Fan_Art) TvdbSeasonBanner Banner for each season of a series, dvd-style (400 x 578) or banner style (758 x 140) (http://thetvdb.com/wiki/index.php/Wide_Season_Banners) TvdbSeriesBanner Wide banner for each series (758 x 140), comes in graphical, text or blank style. For further information see http://thetvdb.com/wiki/index.php/Series_Banners TvdbPosterBanner Newest addition to the tvdb graphical section (680px x 1000px) and not smaller than 500k (http://thetvdb.com/wiki/index.php/Posters) Loads the actual image data of the banner true if the banner could be loaded successfully, false otherwise Loads the actual image data of the banner If true will replace an old image (if one exists already) true if the banner could be loaded successfully, false otherwise Unloads the image and saves it to cache true if successful, false otherwise Unloads the image should the image kept in cache true if successful, false otherwise Creates the name used to store images in cache Path of the image Is the image a thumbnail Name used for caching image Loads the banner with the given image Image object that should be used for this banner True if successful, false otherwise Loads the image from the given path Path of image that should be used for this banner True if successful, false otherwise Used to load/save images persistent if we're using a cache provider (should keep memory usage much lower) on the other hand we have a back-ref to tvdb (from a data class), which sucks todo: think of a better way to handle this Language of the banner Id of the banner Image data of the banner True if the image data has been already loaded, false otherwise Is the banner currently beeing loaded Path to the location on the tvdb server where the image is located When was the banner updated the last time Id of the series this banner belongs to This class contains constants used for deflation. Set to true to enable debugging Written to Zip file to identify a stored block Identifies static tree in Zip file Identifies dynamic tree in Zip file Header flag indicating a preset dictionary for deflation Sets internal buffer sizes for Huffman encoding Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Internal compression engine constant Fan Art is high quality artwork that is displayed in the background of HTPC menus. Since fan art is displayed behind other content in most cases, we place more restrictions on the formatting of the image. The resolution is either 1920x1080 or 1280x720... More information: http://thetvdb.com/wiki/index.php/Fan_Art This class extends the regular banner class with the ability to retrieve thumbnails of the actual images. These thumbnails are at the moment availabe for all banner types except actors Load the thumb from tvdb, if there isn't already a thumb loaded, (an existing one will NOT be replaced) true if the loading completed sccessfully, false otherwise Load the thumb from tvdb if true, an existing banner will be replaced, if false the banner will only be loaded if there is no existing banner true if the loading completed sccessfully, false otherwise Load thumbnail with given image the image to be used forthe banner true if the loading completed sccessfully, false otherwise Unloads the image and saves it to cache true if successful, false otherwise Unloads the image should the image kept in cache true if successful, false otherwise Is the thumbnail currently beeing loaded Path to the fanart thumbnail Image of the thumbnail Is the Image of the thumb already loaded TvdbFanartBanner constructor TvdbFanartBanner constructor Id of fanart banner Language for this banner Path of image for this banner Load the vignette from tvdb True if successful, false otherwise Load the vignette from tvdb True if successful, false otherwise Load vignette with given image Image object that should be used for this banner True if successful, false otherwise Unloads the image and saves it to cache true if successful, false otherwise Unloads the image should the image kept in cache true if successful, false otherwise Is the vignette image already loaded Is the vignette currently beeing loaded Vignette Image These are the colors selected by the artist that match the image. The format is 3 colors separated by a pipe "|". This field has leading and trailing pipes. Each color is comma separated RGB, with each color portion being an integer from 1 to 255. So the format looks like |r,g,b|r,g,b|r,g,b|. The first color is the light accent color. The second color is the dark accent color. The third color is the neutral mid-tone color. Path to the fanart vignette Does the image contain the series name Color 3 (see Colors property) Color 2 (see Colors property) Color 1 (see Colors property) Resolution of the fanart A cache provider stores and loads the data that has been previously retrieved from http://thetvdb.com. Initialises the cache, should do the following things - initialise connections used for this cache provider (db connections, network shares,...) - create folder structure / db tables / ... if they are not created already - if this is the first time the cache has been initialised (built), mark last_updated with the current date TvdbData object Closes the cache (e.g. close open connection, etc.) true if successful, false otherwise Completely refreshes the cache (all stored information is lost) true if the cache was cleared successfully, false otherwise (e.g. no write rights,...) Remove a specific series from cache the id of the series true if the series was removed from the cache successfully, false otherwise (e.g. series not cached) Loads all cached series from cache -> can take a while The loaded TvdbData object Loads the available languages from cache A list of TvdbLanguage objects from cache or null Loads all series from cache A list of TvdbSeries objects from cache or null Load the give series from cache Id of the series to load The TvdbSeries object from cache or null Load user info from cache Id of the user TvdbUser object or null if the user couldn't be loaded Saves cache settings settings Save the language to cache List of languages that are available on http://thetvdb.com Saves the series to cache TvdbSeries object Saves the user data to cache TvdbUser object Save the given image to cache banner to save id of series filename (will be the same name used by LoadImageFromCache) Loads the specified image from the cache series id filename of the image (same one as used by SaveToCache) The loaded image or null if the image wasn't found Receives a list of all series that have been cached A list of series that have been already stored with this cache provider Check if the series is cached in the given configuration Id of the series Language of the series are episodes loaded are banners loaded are actors loaded true if the series is cached, false otherwise Removes the specified image from cache (if it has been cached) id of series name of image true if image was removed successfully, false otherwise (e.g. image didn't exist) Is the cache provider initialised Class representing an episode with all the information that can be retrieved from http://thetvdb.com.

Those are:
332179




|Joseph McGinty Nichol|
Chuck Versus the World
1
2007-09-24
|Julia Ling|Vik Sahay|Mieko Hillman|

English
Chuck Bartowski is an average computer geek...

9.0
1
|Josh Schwartz|Chris Fedak|




episodes/80348-332179.jpg
1201292806
27985
80348
]]> Additionally the banner image is stored
Default constructor for the TvdbEpisode class Returns a short description of the episode (e.g. 1x20 Episodename) short description of the episode Updates all information of this episode from the given episode... new episode if the episode is a special episode -> Before which season did it air if the episode is a special episode -> Before which episode did it air if the episode is a special episode -> After which season did it air Is the episode a special episode The fields airsafter_season, airsbefore_episode, and airsbefore_season will only be included when the episode is listed as a special. Specials are also listed as being in season 0, so they're easy to identify and sort. Which DVD season is this episode The Dvd Episode Number The DVD Disc Id The chapter of this episode on the dvd unique tvdb Id of this episode Id of series this episode belongs to Id of season this episode belong to When was the episode last updated Path to the banner image on http://thetvdb.com The absolute number of the episode List of writers for this episode Season number of this episode Rating for this episode Production code for this episode Overview of this episode Language of this episode Imdb number of this episode List of guest stars that appeared in this episode When did the episode air first Episode number Name of the episode List of directors for this episode n/a n/a Formatted String of writers for this episode in the format | writer1 | writer2 | writer3 | Formatted String of guest stars that appeared during this episode in the format | gueststar1 | gueststar2 | gueststar3 | Formatted String of directors of this episode in the format | director1 | director2 | director3 | The episode image banner While one would think that the episode number would be a simple affair there are several different ways that someone might choose to number the episodes on this site episodes are numbered in the order they aired on TV. That being said the site does provide two alternative numbering methods.

1. Absolute Episode Order
2. DVD Release Order

More information on the topic can be found at: http://thetvdb.com/wiki/index.php/Category:Episodes
Default order used by thetvdb As everyone knows series can air on tv in an order completely different than the one intended by the series creator. Firefly being the most often discussed example on this site. Therefore we have provided a method for entering this "Correct" order. See also http://thetvdb.com/wiki/index.php/DVD_Order The standard for this site is the the primary episode number is representative of the shows aired order. But as any Anime fan will tell you Anime episodes are usually numbered without seasons and go from episode 1 to whatever the final episode is, often into the hundreds. Most western broadcasters however do break these shows into seasons, so in order to accommodate this alternate numbering scheme an additional field Absolute Number is available. While this system is primarily intended for Anime series that don't really have seasons, it will work for any program. To use this interface there is no alternate season number only the absolute episode number. Numbering continues on from season to season. So if season 1 ends with 25 then season 2 begins with 26. So for example Bleach is currently in it's "sixth season" but season 5 episode 14 Shock! The Father's True Character is actually episode 111. Writes tvdb data to xml files TvdbXmlWriter constructor Create the file contents List of languages to store Write the list of languages to file List of languages to store Path on disk true if the file could be stored, false otherwise Create the file content for a list of mirrors List of mirrors to store xml content Write the xml file for the mirrors to file List of mirrors to store Path on disk true if the file could be stored, false otherwise Create the file content for a list of actors List of actors to store xml content Write the xml file for the actors to file List of actors to store Path on disk true if the file could be stored, false otherwise Create the series content Series to store xml content Write the series content to file Series to store Path on disk true if the file could be stored, false otherwise Create the series banner content List of banners to store xml content Write the series banner contents to xml file Bannerlist to store Path on disk true if the file could be stored, false otherwise Create the xml content to save a TvdbUser to file User to store xml content Write the user data to file User to store Path on disk true if the file could be stored, false otherwise Class for parsing the xml info from thetvdb Base constructor for a TvdbXmlReader class Extract a list of languages when the data has the format: EspaƱol es 16 ]]> Extract a list of mirrors if the data has the format: 1 http://thetvdb.com 7 ]]> Extract a list of series in the format: 73739 |Malcolm David Kelley|Jorge Garcia|Maggie Grace|...| Thursday 9:00 PM TV-14 2004-09-22 |Action and Adventure|Drama|Science-Fiction| tt0411008 en ABC After Oceanic Air flight 815... 8.9 60 24313 Lost Continuing graphical/24313-g2.jpg fanart/original/73739-1.jpg 1205694666 SH672362 ]]> Extract all the series fields that are available on thetvdb 73739 |Malcolm David Kelley|Jorge Garcia|Maggie Grace|...| Thursday 9:00 PM TV-14 2004-09-22 |Action and Adventure|Drama|Science-Fiction| tt0411008 en ABC After Oceanic Air flight 815... 8.9 60 24313 Lost Continuing graphical/24313-g2.jpg fanart/original/73739-1.jpg 1205694666 SH672362 ]]> Extract a list of episodes from the given data when the data has the following format: 332179 |Joseph McGinty Nichol| Chuck Versus the World 1 2007-09-24 |Julia Ling|Vik Sahay|Mieko Hillman| English Chuck Bartowski is an average computer geek... 9.0 1 |Josh Schwartz|Chris Fedak| episodes/80348-332179.jpg 1201292806 27985 80348 ]]> Extract list of updated series 71969 ]]> Extract the results of a series search with format: 73739 en Lost graphical/24313-g2.jpg After Oceanic Air flight 815... 2004-09-22 tt0411008 SH672362 73739 ]]> Exctract the series favorites 73067 78957 75340 72218 73244 75397 ]]> Extract a rating from the data in the format 7.5 ]]> Extract the updated episodes from the data in the format: 326268 ]]> Extract the data of updated banners 1 79302 standard en seasons/79302-1.jpg season ]]> Extract the update time from data Extract a list of banners from the data when the data has the format: 20106 fanart/original/73739-1.jpg fanart/vignette/73739-1.jpg _cache/fanart/original/73739-1.jpg fanart 1920x1080 |68,69,59|69,70,58|78,78,68| en 18953 seasons/73739-2-2.jpg season season es 2 9529 graphical/73739-g.jpg series graphical en ]]> Extract a list of actors when the data has the format: 22017 actors/22017.jpg Zachary Levi Chuck Bartowski 0 ]]> data List of actors Extract user data from Extract a list of series ratings The xml file is in the following format: 80344 7 8.3224 72227 8 8.3224 ]]> The xml content The item type for the ratings Contains the output from the Inflation process. We need to have a window so that we can refer backwards into the output stream to repeat stuff.
Author of the original java version : John Leuner
Write a byte to this output window value to write if window is full Append a byte pattern already in the window itself length of pattern to copy distance from end of window pattern occurs If the repeated data overflows the window Copy from input manipulator to internal window source of data length of data to copy the number of bytes copied Copy dictionary to window source dictionary offset of start in source dictionary length of dictionary If window isnt empty Get remaining unfilled space in window Number of bytes left in window Get bytes available for output in window Number of bytes filled Copy contents of window to output buffer to copy to offset to start at number of bytes to count The number of bytes copied If a window underflow occurs Reset by clearing window so GetAvailable returns 0 This is the Deflater class. The deflater class compresses input with the deflate algorithm described in RFC 1951. It has several compression levels and three different strategies described below. This class is not thread safe. This is inherent in the API, due to the split of deflate and setInput. author of the original java version : Jochen Hoenicke The best and slowest compression level. This tries to find very long and distant string repetitions. The worst but fastest compression level. The default compression level. This level won't compress at all but output uncompressed blocks. The compression method. This is the only method supported so far. There is no need to use this constant at all. Creates a new deflater with default compression level. Creates a new deflater with given compression level. the compression level, a value between NO_COMPRESSION and BEST_COMPRESSION, or DEFAULT_COMPRESSION. if lvl is out of range. Creates a new deflater with given compression level. the compression level, a value between NO_COMPRESSION and BEST_COMPRESSION. true, if we should suppress the Zlib/RFC1950 header at the beginning and the adler checksum at the end of the output. This is useful for the GZIP/PKZIP formats. if lvl is out of range. Resets the deflater. The deflater acts afterwards as if it was just created with the same compression level and strategy as it had before. Flushes the current input block. Further calls to deflate() will produce enough output to inflate everything in the current input block. This is not part of Sun's JDK so I have made it package private. It is used by DeflaterOutputStream to implement flush(). Finishes the deflater with the current input block. It is an error to give more input after this method was called. This method must be called to force all bytes to be flushed. Sets the data which should be compressed next. This should be only called when needsInput indicates that more input is needed. If you call setInput when needsInput() returns false, the previous input that is still pending will be thrown away. The given byte array should not be changed, before needsInput() returns true again. This call is equivalent to setInput(input, 0, input.length). the buffer containing the input data. if the buffer was finished() or ended(). Sets the data which should be compressed next. This should be only called when needsInput indicates that more input is needed. The given byte array should not be changed, before needsInput() returns true again. the buffer containing the input data. the start of the data. the number of data bytes of input. if the buffer was Finish()ed or if previous input is still pending. Sets the compression level. There is no guarantee of the exact position of the change, but if you call this when needsInput is true the change of compression level will occur somewhere near before the end of the so far given input. the new compression level. Get current compression level Returns the current compression level Sets the compression strategy. Strategy is one of DEFAULT_STRATEGY, HUFFMAN_ONLY and FILTERED. For the exact position where the strategy is changed, the same as for SetLevel() applies. The new compression strategy. Deflates the current input block with to the given array. The buffer where compressed data is stored The number of compressed bytes added to the output, or 0 if either IsNeedingInput() or IsFinished returns true or length is zero. Deflates the current input block to the given array. Buffer to store the compressed data. Offset into the output array. The maximum number of bytes that may be stored. The number of compressed bytes added to the output, or 0 if either needsInput() or finished() returns true or length is zero. If Finish() was previously called. If offset or length don't match the array length. Sets the dictionary which should be used in the deflate process. This call is equivalent to setDictionary(dict, 0, dict.Length). the dictionary. if SetInput () or Deflate () were already called or another dictionary was already set. Sets the dictionary which should be used in the deflate process. The dictionary is a byte array containing strings that are likely to occur in the data which should be compressed. The dictionary is not stored in the compressed output, only a checksum. To decompress the output you need to supply the same dictionary again. The dictionary data The index where dictionary information commences. The number of bytes in the dictionary. If SetInput () or Deflate() were already called or another dictionary was already set. Compression level. If true no Zlib/RFC1950 headers or footers are generated The current state. The total bytes of output written. The pending output. The deflater engine. Gets the current adler checksum of the data that was processed so far. Gets the number of input bytes processed so far. Gets the number of output bytes so far. Returns true if the stream was finished and no more output bytes are available. Returns true, if the input buffer is empty. You should then call setInput(). NOTE: This method can also return true when the stream was finished. Graphical representation of a series, tpyes are text, graphical or blank - Graphical Banners are defined as having a graphical/logo version of the series name - Text Banners generally use Arial Bold font, 27pt as the text - The main requirement for blank banners is they should be blank on the left side of the banner as that is where the auto-generated text will be placed More information on http://thetvdb.com/wiki/index.php/Series_Banners TvdbSeriesBanner constructor TvdbSeriesBanner constructor Id of banner Path of banner image Language of this banner Banner type (text, graphical, blank, none) Banner type of the series banner Type of the series banner Banners contains a text of the seriesname Banner containing a graphical representation of the seriesname Banner containing a free space on the left side to place your own series description Nothing specified This is an InflaterInputStream that reads the files baseInputStream an zip archive one after another. It has a special method to get the zip entry of the next file. The zip entry contains information about the file name size, compressed size, Crc, etc. It includes support for Stored and Deflated entries.

Author of the original java version : Jochen Hoenicke
This sample shows how to read a zip file using System; using System.Text; using System.IO; using ICSharpCode.SharpZipLib.Zip; class MainClass { public static void Main(string[] args) { using ( ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]))) { ZipEntry theEntry; while ((theEntry = s.GetNextEntry()) != null) { int size = 2048; byte[] data = new byte[2048]; Console.Write("Show contents (y/n) ?"); if (Console.ReadLine() == "y") { while (true) { size = s.Read(data, 0, data.Length); if (size > 0) { Console.Write(new ASCIIEncoding().GetString(data, 0, size)); } else { break; } } } } } } }
This filter stream is used to decompress data compressed using the "deflate" format. The "deflate" format is described in RFC 1951. This stream may form the basis for other decompression filters, such as the GZipInputStream. Author of the original java version : John Leuner. Create an InflaterInputStream with the default decompressor and a default buffer size of 4KB. The InputStream to read bytes from Create an InflaterInputStream with the specified decompressor and a default buffer size of 4KB. The source of input data The decompressor used to decompress data read from baseInputStream Create an InflaterInputStream with the specified decompressor and the specified buffer size. The InputStream to read bytes from The decompressor to use Size of the buffer to use Skip specified number of bytes of uncompressed data Number of bytes to skip The number of bytes skipped, zero if the end of stream has been reached The number of bytes to skip is less than or equal to zero. Clear any cryptographic state. Fills the buffer with more data to decompress. Stream ends early Flushes the baseInputStream Sets the position within the current stream Always throws a NotSupportedException The relative offset to seek to. The defining where to seek from. The new position in the stream. Any access Set the length of the current stream Always throws a NotSupportedException The new length value for the stream. Any access Writes a sequence of bytes to stream and advances the current position This method always throws a NotSupportedException Thew buffer containing data to write. The offset of the first byte to write. The number of bytes to write. Any access Writes one byte to the current stream and advances the current position Always throws a NotSupportedException The byte to write. Any access Entry point to begin an asynchronous write. Always throws a NotSupportedException. The buffer to write data from Offset of first byte to write The maximum number of bytes to write The method to be called when the asynchronous write operation is completed A user-provided object that distinguishes this particular asynchronous write request from other requests An IAsyncResult that references the asynchronous write Any access Closes the input stream. When is true the underlying stream is also closed. Reads decompressed data into the provided buffer byte array The array to read and decompress data into The offset indicating where the data should be placed The number of bytes to decompress The number of bytes read. Zero signals the end of stream Inflater needs a dictionary Decompressor for this stream Input buffer for this stream. Base stream the inflater reads from. The compressed size Flag indicating wether this instance has been closed or not. Flag indicating wether this instance is designated the stream owner. When closing if this flag is true the underlying stream is closed. Get/set flag indicating ownership of underlying stream. When the flag is true will close the underlying stream also. The default value is true. Returns 0 once the end of the stream (EOF) has been reached. Otherwise returns 1. Gets a value indicating whether the current stream supports reading Gets a value of false indicating seeking is not supported for this stream. Gets a value of false indicating that this stream is not writeable. A value representing the length of the stream in bytes. The current position within the stream. Throws a NotSupportedException when attempting to set the position Attempting to set the position The current reader this instance. Creates a new Zip input stream, for reading a zip archive. The underlying providing data. Advances to the next entry in the archive The next entry in the archive or null if there are no more entries. If the previous entry is still open CloseEntry is called. Input stream is closed Password is not set, password is invalid, compression method is invalid, version required to extract is not supported Read data descriptor at the end of compressed data. Complete cleanup as the final part of closing. True if the crc value should be tested Closes the current zip entry and moves to the next one. The stream is closed The Zip stream ends early Reads a byte from the current zip entry. The byte or -1 if end of stream is reached. Handle attempts to read by throwing an . The destination array to store data in. The offset at which data read should be stored. The maximum number of bytes to read. Returns the number of bytes actually read. Handle attempts to read from this entry by throwing an exception Perform the initial read on an entry which may include reading encryption headers and setting up inflation. The destination to fill with data read. The offset to start reading at. The maximum number of bytes to read. The actual number of bytes read. Read a block of bytes from the stream. The destination for the bytes. The index to start storing data. The number of bytes to attempt to read. Returns the number of bytes read. Zero bytes read means end of stream. Reads a block of bytes from the current zip entry. The number of bytes read (this may be less than the length requested, even before the end of stream), or 0 on end of stream. An i/o error occured. The deflated stream is corrupted. The stream is not open. Closes the zip input stream Optional password used for encryption when non-null A password for all encrypted entries in this Gets a value indicating if there is a current entry and it can be decompressed The entry can only be decompressed if the library supports the zip features required to extract it. See the ZipEntry Version property for more details. Returns 1 if there is an entry available Otherwise returns 0. Returns the current size that can be read from the current entry if available Thrown if the entry size is not known. Thrown if no entry is currently available. Delegate for reading bytes from a stream. An input buffer customised for use by The buffer supports decryption of incoming data. Initialise a new instance of with a default buffer size The stream to buffer. Initialise a new instance of The stream to buffer. The size to use for the buffer A minimum buffer size of 1KB is permitted. Lower sizes are treated as 1KB. Call passing the current clear text buffer contents. The inflater to set input for. Fill the buffer from the underlying input stream. Read a buffer directly from the input stream The buffer to fill Returns the number of bytes read. Read a buffer directly from the input stream The buffer to read into The offset to start reading data into. The number of bytes to read. Returns the number of bytes read. Read clear text data from the input stream. The buffer to add data to. The offset to start adding data at. The number of bytes to read. Returns the number of bytes actually read. Read a from the input stream. Returns the byte read. Read an in little endian byte order. The short value read case to an int. Read an in little endian byte order. The int value read. Read a in little endian byte order. The long value read. Get the length of bytes bytes in the Get the contents of the raw data buffer. This may contain encrypted data. Get the number of useable bytes in Get the contents of the clear text buffer. Get/set the number of bytes available Get/set the to apply to any data. Set this value to null to have no transform applied. Inflater is used to decompress data that has been compressed according to the "deflate" standard described in rfc1951. By default Zlib (rfc1950) headers and footers are expected in the input. You can use constructor public Inflater(bool noHeader) passing true if there is no Zlib header information The usage is as following. First you have to set some input with SetInput(), then Inflate() it. If inflate doesn't inflate any bytes there may be three reasons:
  • IsNeedingInput() returns true because the input buffer is empty. You have to provide more input with SetInput(). NOTE: IsNeedingInput() also returns true when, the stream is finished.
  • IsNeedingDictionary() returns true, you have to provide a preset dictionary with SetDictionary().
  • IsFinished returns true, the inflater has finished.
Once the first output byte is produced, a dictionary will not be needed at a later stage. author of the original java version : John Leuner, Jochen Hoenicke
These are the possible states for an inflater Copy lengths for literal codes 257..285 Extra bits for literal codes 257..285 Copy offsets for distance codes 0..29 Extra bits for distance codes This variable contains the current state. The adler checksum of the dictionary or of the decompressed stream, as it is written in the header resp. footer of the compressed stream. Only valid if mode is DECODE_DICT or DECODE_CHKSUM. The number of bits needed to complete the current state. This is valid, if mode is DECODE_DICT, DECODE_CHKSUM, DECODE_HUFFMAN_LENBITS or DECODE_HUFFMAN_DISTBITS. True, if the last block flag was set in the last block of the inflated stream. This means that the stream ends after the current block. The total number of inflated bytes. The total number of bytes set with setInput(). This is not the value returned by the TotalIn property, since this also includes the unprocessed input. This variable stores the noHeader flag that was given to the constructor. True means, that the inflated stream doesn't contain a Zlib header or footer. Creates a new inflater or RFC1951 decompressor RFC1950/Zlib headers and footers will be expected in the input data Creates a new inflater. True if no RFC1950/Zlib header and footer fields are expected in the input data This is used for GZIPed/Zipped input. For compatibility with Sun JDK you should provide one byte of input more than needed in this case. Resets the inflater so that a new stream can be decompressed. All pending input and output will be discarded. Decodes a zlib/RFC1950 header. False if more input is needed. The header is invalid. Decodes the dictionary checksum after the deflate header. False if more input is needed. Decodes the huffman encoded symbols in the input stream. false if more input is needed, true if output window is full or the current block ends. if deflated stream is invalid. Decodes the adler checksum after the deflate stream. false if more input is needed. If checksum doesn't match. Decodes the deflated stream. false if more input is needed, or if finished. if deflated stream is invalid. Sets the preset dictionary. This should only be called, if needsDictionary() returns true and it should set the same dictionary, that was used for deflating. The getAdler() function returns the checksum of the dictionary needed. The dictionary. Sets the preset dictionary. This should only be called, if needsDictionary() returns true and it should set the same dictionary, that was used for deflating. The getAdler() function returns the checksum of the dictionary needed. The dictionary. The index into buffer where the dictionary starts. The number of bytes in the dictionary. No dictionary is needed. The adler checksum for the buffer is invalid Sets the input. This should only be called, if needsInput() returns true. the input. Sets the input. This should only be called, if needsInput() returns true. The source of input data The index into buffer where the input starts. The number of bytes of input to use. No input is needed. The index and/or count are wrong. Inflates the compressed stream to the output buffer. If this returns 0, you should check, whether IsNeedingDictionary(), IsNeedingInput() or IsFinished() returns true, to determine why no further output is produced. the output buffer. The number of bytes written to the buffer, 0 if no further output can be produced. if buffer has length 0. if deflated stream is invalid. Inflates the compressed stream to the output buffer. If this returns 0, you should check, whether needsDictionary(), needsInput() or finished() returns true, to determine why no further output is produced. the output buffer. the offset in buffer where storing starts. the maximum number of bytes to output. the number of bytes written to the buffer, 0 if no further output can be produced. if count is less than 0. if the index and / or count are wrong. if deflated stream is invalid. Returns true, if the input buffer is empty. You should then call setInput(). NOTE: This method also returns true when the stream is finished. Returns true, if a preset dictionary is needed to inflate the input. Returns true, if the inflater has finished. This means, that no input is needed and no output can be produced. Gets the adler checksum. This is either the checksum of all uncompressed bytes returned by inflate(), or if needsDictionary() returns true (and thus no output was yet produced) this is the adler checksum of the expected dictionary. the adler checksum. Gets the total number of output bytes returned by Inflate(). the total number of output bytes. Gets the total number of processed compressed input bytes. The total number of bytes of processed input bytes. Gets the number of unprocessed input bytes. Useful, if the end of the stream is reached and you want to further process the bytes after the deflate stream. The number of bytes of the input which have not been processed. Interface to compute a data checksum used by checked input/output streams. A data checksum can be updated by one byte or with a byte array. After each update the value of the current checksum can be returned by calling getValue. The complete checksum object can also be reset so it can be used again with new data. Resets the data checksum as if no update was ever called. Adds one byte to the data checksum. the data value to add. The high byte of the int is ignored. Updates the data checksum with the bytes taken from the array. buffer an array of bytes Adds the byte array to the data checksum. The buffer which contains the data The offset in the buffer where the data starts the number of data bytes to add. Returns the data checksum computed so far. TvdbDownloader allows simple downloading of all informations stored on http://thetvdb.com. Unlike the class Tvdb TvdbDownloader doesn't include any logic like caching. TvdbDownloader constructor The api key used for downloading data from thetvdb -> see http://thetvdb.com/wiki/index.php/Programmers_API Download the episodes for the given series the id of the series the language in which the episodes should be downloaded An episode object or null if no episodes could be found Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid The tvdb database is unavailable Download all available banners (only a list of available banners, not the actual images!)for the specified series. You can load the actual images by calling LoadBanner() (or LoadThumb(), LoadVignette()) on the banner object Id of series List of all banners for the given series Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid The tvdb database is unavailable Download series from tvdb (specified by series id and language) id of series language of series load episodes load actors load banners The series object or null if the series couldn't be found Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid The tvdb database is unavailable Download the series in the given language id of series language of series Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid The tvdb database is unavailable the series object Download a series search for the id of an external site The site that provides the external id The id that identifies the series on the external site Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid The tvdb database is unavailable the series object that corresponds to the given site and id Download the given episode from tvdb Id of episode Language in which the episode should be downloaded The episode object Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The episode/series/banner couldn't be located on the tvdb server. Exception is thrown when thetvdb isn't available. Download the episode (specified by series id, season number, episode number, language and episode order) from http://thetvdb.com. It is possible to retrieve episodes by aired order (aka default order), DVD order and absolute order. For a detailled description of these options see: http://thetvdb.com/wiki/index.php/Category:Episodes series id season nr episode nr language order The episode object or null if the episode could't be found Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The episode/series/banner couldn't be located on the tvdb server. Exception is thrown when thetvdb isn't available. Download the episode specified from http://thetvdb.com series id when did the episode air language Episode Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The episode/series/banner couldn't be located on the tvdb server. Exception is thrown when thetvdb isn't available. Download the preferred language of the user. Id of user The preferred language for this user as set on http://thetvdb.com Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist The tvdb database is unavailable Download the user favorite list Id of user (register at http://thetvdb.com to get a user id) Favorite list for specified user Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist The tvdb database is unavailable Download the user favorite list Id of user Type of action id of series List of user favorites Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist The tvdb database is unavailable Download an Update updated series to return updated episodes to return updated banners to return interval to download (0=day, 1=week, 2=month) use zip Time of the update Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid Exception is thrown when thetvdb isn't available. Download an Update updated series to return updated episodes to return updated banners to return interval to download use zip Time of the update Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid Exception is thrown when thetvdb isn't available. Download list available languages. A list of TvdbLanguage objects Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The episode/series/banner couldn't be located on the tvdb server. Exception is thrown when thetvdb isn't available. Download search results for a series search in the default language (english) name of the series List of possible matches for the search Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid Exception is thrown when thetvdb isn't available. Download search results for a series search name of the series language of the search List of possible matches for the search Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid Exception is thrown when thetvdb isn't available. Make the request for rating a series The id of the user The id of the series The rating for this series A double value with the current rating for this series Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist Exception is thrown when thetvdb isn't available. Make the request for rating an episode The id of the user The id of the episode The rating for this series A double value with the current rating for this series Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist Exception is thrown when thetvdb isn't available. Download the series rating without rating the item. id of user id of series Current rating for the series Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist Exception is thrown when thetvdb isn't available. Download the episode rating without rating id of the user id of the episode Current rating of this episode Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist Exception is thrown when thetvdb isn't available. Download the list of actors Id of series List of actors for the given series Gets all series this user has already ratet All series ratings the user has made so far Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist Exception is thrown when thetvdb isn't available. Download the user rating for the given series (episodes and series itself) Id of user Id of series Dictionary of all ratings Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist Exception is thrown when thetvdb isn't available. A function has been called that needs an initialised cache but the InitCache function hasn't been called yet Base excpetion for tvdblib TvdbException constructor Message TvdbException constructor Message Inner Exception TvdbException constructor TvdbCacheNotInitialisedException constructor Message TvdbCacheNotInitialisedException constructor Binary cache provider saves all the cached info into broken at the moment -> use CacheProvider BinaryCacheProvider constructor The root folder where the cached data should be stored Load the cached data TvdbData object Initialises the cache, should do the following things - initialise connections used for this cache provider (db connections, network shares,...) - create folder structure / db tables / ... if they are not created already - if this is the first time the cache has been initialised (built), mark last_updated with the current date Tvdb Data object Closes the cache (e.g. close open connection, etc.) true if successful, false otherwise Saves cache settings settings Saves the time of the last update to cache time of last update Save the language to cache List of languages Save the mirror info to cache list of mirrors Loads the available languages from cache List of available languages Load the available mirrors from cache List of available mirrors Load the give series from cache id of series to load loaded series, or null if not successful Saves the series to cache Tvdb series Saves the user data to cache TvdbUser Loads all series from cache List that contains all series object that had been previously cached Load the userinfo from the cache Id of user TvdbUser object Receives a list of all series that have been cached Ids of series that are already cached Check if the series is cached in the given configuration Id of the series Language of the series are episodes loaded are banners loaded are actors loaded true if the series is cached, false otherwise Completely refreshes the cached (all stored information is lost). true if the cache was cleared successfully, false otherwise (e.g. no write rights,...) Remove a specific series from cache the id of the series true if the series was removed from the cache successfully, false otherwise (e.g. series not cached) Save the given image to cache banner to save id of series filename (will be the same name used by LoadImageFromCache) Loads the specified image from the cache series id filename of the image (same one as used by SaveToCache) The loaded image or null if the image wasn't found Removes the specified image from cache (if it has been cached) id of series name of image true if image was removed successfully, false otherwise (e.g. image didn't exist) Load the time when the cache was updated last DateTime of lsat update Is the cache provider initialised Class to store what parts of the cached series has been loaded constructor Id of series Are episodes loaded Are banners loaded Are actors loaded Are actors loaded Are banners loaded Are episodes loaded Id of series Bzip2 checksum algorithm Initialise a default instance of Reset the state of Crc. Update the Crc value. data update is based on Update Crc based on a block of data The buffer containing data to update the crc with. Update Crc based on a portion of a block of data block of data index of first byte to use number of bytes to use Get the current Crc value. Newest addition to the graphical section. Like the name says it has poster format (680px x 1000px) and is not smaller than 500 kb More information at http://thetvdb.com/wiki/index.php/Posters TvdbPosterBanner constructor Id of fanart banner Language for this banner Path of image for this banner TvdbPosterBanner constructor Resolution of the Poster banner Represents the episode banner, which is currently only one image per episode (no language differentiation either) limited to a maximum size of 400 x 300 further information on http://thetvdb.com/wiki/index.php/Episode_Images TvdbEpisodeBanner constructor TvdbEpisodeBanner constructor Path of banner Id of episode banner Represents an tvdb actor -> for more information see http://thetvdb.com/wiki/index.php/API:actors.xml This matches the First, Second, Third, and Don't Care options on the site, which determine if the actor is shown on the series page or not. First (SortOrder=0), Second (SortOrder=1), and Third (SortOrder=2) generally mean the actor plays a primary role in the series. Don't Care (SortOrder=3) generally means the actor plays a lesser role. In some series there are no primary actors, so all actors will have a SortOrder of 3. The actors are also listed in the report in SortOrder, followed by those with images, and then finally by Name. So using the order they show up in the file is a valid method. The name of the actor's character in the series. This may include multiple roles in comma-separated format. The actual name of the actor. The image for the actor in this role. A unique id per actor. At some point actors will be globally unique but for now they're just unique per series. Exception that is thrown if http://thetvdb.com seems to be unavailable TvdbNotAvailableException constructor Message TvdbNotAvailableException constructor Defines known values for the property. Host system = MSDOS Host system = Amiga Host system = Open VMS Host system = Unix Host system = VMCms Host system = Atari ST Host system = OS2 Host system = Macintosh Host system = ZSystem Host system = Cpm Host system = Windows NT Host system = MVS Host system = VSE Host system = Acorn RISC Host system = VFAT Host system = Alternate MVS Host system = BEOS Host system = Tandem Host system = OS400 Host system = OSX Host system = WinZIP AES This class represents an entry in a zip archive. This can be a file or a directory ZipFile and ZipInputStream will give you instances of this class as information about the members in an archive. ZipOutputStream uses an instance of this class when creating an entry in a Zip file.

Author of the original java version : Jochen Hoenicke
Creates a zip entry with the given name. The name for this entry. Can include directory components. The convention for names is 'unix' style paths with relative names only. There are with no device names and path elements are separated by '/' characters. The name passed is null Creates a zip entry with the given name and version required to extract The name for this entry. Can include directory components. The convention for names is 'unix' style paths with no device names and path elements separated by '/' characters. This is not enforced see CleanName on how to ensure names are valid if this is desired. The minimum 'feature version' required this entry The name passed is null Initializes an entry with the given name and made by information Name for this entry Version and HostSystem Information Minimum required zip feature version required to extract this entry Compression method for this entry. The name passed is null versionRequiredToExtract should be 0 (auto-calculate) or > 10 This constructor is used by the ZipFile class when reading from the central header It is not generally useful, use the constructor specifying the name only. Creates a deep copy of the given zip entry. The entry to copy. Test the external attributes for this to see if the external attributes are Dos based (including WINNT and variants) and match the values The attributes to test. Returns true if the external attributes are known to be DOS/Windows based and have the same attributes set as the value passed. Force this entry to be recorded using Zip64 extensions. Get a value indicating wether Zip64 extensions were forced. A value of true if Zip64 extensions have been forced on; false if not. Process extra data fields updating the entry based on the contents. True if the extra data fields should be handled for a local header, rather than for a central header. Test entry to see if data can be extracted. Returns true if data can be extracted for this entry; false otherwise. Creates a copy of this zip entry. An that is a copy of the current instance. Gets a string representation of this ZipEntry. A readable textual representation of this Test a compression method to see if this library supports extracting data compressed with that method The compression method to test. Returns true if the compression method is supported; false otherwise Cleans a name making it conform to Zip file conventions. Devices names ('c:\') and UNC share names ('\\server\share') are removed and forward slashes ('\') are converted to back slashes ('/'). Names are made relative by trimming leading slashes which is compatible with the ZIP naming convention. The name to clean The 'cleaned' name. The Zip name transform class is more flexible. Get a value indicating wether the entry has a CRC value available. Get/Set flag indicating if entry is encrypted. A simple helper routine to aid interpretation of flags This is an assistant that interprets the flags property. Get / set a flag indicating wether entry name and comment text are encoded in unicode UTF8. This is an assistant that interprets the flags property. Value used during password checking for PKZIP 2.0 / 'classic' encryption. Get/Set general purpose bit flag for entry General purpose bit flag

Bit 0: If set, indicates the file is encrypted
Bit 1-2 Only used for compression type 6 Imploding, and 8, 9 deflating
Imploding:
Bit 1 if set indicates an 8K sliding dictionary was used. If clear a 4k dictionary was used
Bit 2 if set indicates 3 Shannon-Fanno trees were used to encode the sliding dictionary, 2 otherwise

Deflating:
Bit 2 Bit 1
0 0 Normal compression was used
0 1 Maximum compression was used
1 0 Fast compression was used
1 1 Super fast compression was used

Bit 3: If set, the fields crc-32, compressed size and uncompressed size are were not able to be written during zip file creation The correct values are held in a data descriptor immediately following the compressed data.
Bit 4: Reserved for use by PKZIP for enhanced deflating
Bit 5: If set indicates the file contains compressed patch data
Bit 6: If set indicates strong encryption was used.
Bit 7-10: Unused or reserved
Bit 11: If set the name and comments for this entry are in unicode.
Bit 12-15: Unused or reserved
Get/Set index of this entry in Zip file This is only valid when the entry is part of a Get/set offset for use in central header Get/Set external file attributes as an integer. The values of this are operating system dependant see HostSystem for details Get the version made by for this entry or zero if unknown. The value / 10 indicates the major version number, and the value mod 10 is the minor version number Get a value indicating this entry is for a DOS/Windows system. Gets the compatability information for the external file attribute If the external file attributes are compatible with MS-DOS and can be read by PKZIP for DOS version 2.04g then this value will be zero. Otherwise the value will be non-zero and identify the host system on which the attributes are compatible. The values for this as defined in the Zip File format and by others are shown below. The values are somewhat misleading in some cases as they are not all used as shown. You should consult the relevant documentation to obtain up to date and correct information. The modified appnote by the infozip group is particularly helpful as it documents a lot of peculiarities. The document is however a little dated. 0 - MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems) 1 - Amiga 2 - OpenVMS 3 - Unix 4 - VM/CMS 5 - Atari ST 6 - OS/2 HPFS 7 - Macintosh 8 - Z-System 9 - CP/M 10 - Windows NTFS 11 - MVS (OS/390 - Z/OS) 12 - VSE 13 - Acorn Risc 14 - VFAT 15 - Alternate MVS 16 - BeOS 17 - Tandem 18 - OS/400 19 - OS/X (Darwin) 99 - WinZip AES remainder - unused Get minimum Zip feature version required to extract this entry Minimum features are defined as:
1.0 - Default value
1.1 - File is a volume label
2.0 - File is a folder/directory
2.0 - File is compressed using Deflate compression
2.0 - File is encrypted using traditional encryption
2.1 - File is compressed using Deflate64
2.5 - File is compressed using PKWARE DCL Implode
2.7 - File is a patch data set
4.5 - File uses Zip64 format extensions
4.6 - File is compressed using BZIP2 compression
5.0 - File is encrypted using DES
5.0 - File is encrypted using 3DES
5.0 - File is encrypted using original RC2 encryption
5.0 - File is encrypted using RC4 encryption
5.1 - File is encrypted using AES encryption
5.1 - File is encrypted using corrected RC2 encryption
5.1 - File is encrypted using corrected RC2-64 encryption
6.1 - File is encrypted using non-OAEP key wrapping
6.2 - Central directory encryption (not confirmed yet)
6.3 - File is compressed using LZMA
6.3 - File is compressed using PPMD+
6.3 - File is encrypted using Blowfish
6.3 - File is encrypted using Twofish
Get a value indicating wether this entry can be decompressed by the library. This is based on the and wether the compression method is supported. Gets a value indicating if the entry requires Zip64 extensions to store the full entry values. A value of true if a local header requires Zip64 extensions; false if not. Get a value indicating wether the central directory entry requires Zip64 extensions to be stored. Get/Set DosTime value. The MS-DOS date format can only represent dates between 1/1/1980 and 12/31/2107. Gets/Sets the time of last modification of the entry. The property is updated to match this as far as possible. Returns the entry name. The unix naming convention is followed. Path components in the entry should always separated by forward slashes ('/'). Dos device names like C: should also be removed. See the class, or Gets/Sets the size of the uncompressed data. The size or -1 if unknown. Setting the size before adding an entry to an archive can help avoid compatability problems with some archivers which dont understand Zip64 extensions. Gets/Sets the size of the compressed data. The compressed entry size or -1 if unknown. Gets/Sets the crc of the uncompressed data. Crc is not in the range 0..0xffffffffL The crc value or -1 if unknown. Gets/Sets the compression method. Only Deflated and Stored are supported. The compression method for this entry Gets/Sets the extra data. Extra data is longer than 64KB (0xffff) bytes. Extra data or null if not set. Gets/Sets the entry comment. If comment is longer than 0xffff. The comment or null if not set. A comment is only available for entries when read via the ZipFile class. The class doesnt have the comment data available. Gets a value indicating if the entry is a directory. however. A directory is determined by an entry name with a trailing slash '/'. The external file attributes can also indicate an entry is for a directory. Currently only dos/windows attributes are tested in this manner. The trailing slash convention should always be followed. Get a value of true if the entry appears to be a file; false otherwise This only takes account of DOS/Windows attributes. Other operating systems are ignored. For linux and others the result may be incorrect. Tvdb Handler for handling all features that are available on http://thetvdb.com/ http://thetvdb.com/ is an open database that can be modified by anybody. All content and images on the site have been contributed by our users. The database schema and website are open source under the GPL, and are available at Sourceforge. The site also has a full XML API that allows other software and websites to use this information. The API is currently being used by the myTV add-in for Windows Media Center, XBMC (formerly XBox Media Center); the meeTVshows and TVNight plugins for Meedio; the MP-TVSeries plugin for MediaPortal; Boxee; and many more. Creates a new Tvdb handler The tvdb handler is used not only for downloading data from thetvdb but also to cache the downloaded data to a persistent storage, handle user specific tasks and keep the downloaded data consistent with the online data (via the updates api) The api key used for downloading data from thetvdb -> see http://thetvdb.com/wiki/index.php/Programmers_API Creates a new Tvdb handler The cache provider used to store the information Api key to use for this project Load previously stored information on (except series information) from cache true if cache could be loaded successfully, false otherwise Completely refreshes the cache (all stored information is lost) -> cache must be initialised to call this method true if the cache was cleared successfully, false otherwise (e.g. no write rights,...) Search for a seris on tvdb using the name of the series using the default language (english) Name of series List of possible hits (containing only very basic information (id, name,....) Search for a seris on tvdb using the name of the series Name of series Language to search in List of possible hits (containing only very basic information (id, name,....) Searches for a series by the id of an external provider external provider id of the series The tvdb series that corresponds to the external id Gets the series with the given id either from cache (if it has already been loaded) or from the selected tvdb mirror. To check if this series has already been cached, use the Method IsCached(TvdbSeries _series) Tvdb is not available The given api key is not valid id of series language that should be retrieved if true, the full series record will be loaded (series + all episodes), otherwise only the base record will be loaded which contains only series information if true also loads the extended actor information if true also loads the paths to the banners Instance of TvdbSeries containing all gained information Gets the series with the given id either from cache (if it has already been loaded) or from the selected tvdb mirror. If this series is not already cached and the series has to be downloaded, the zipped version will be downloaded To check if this series has already been cached, use the Method IsCached(TvdbSeries _series) Tvdb is not available The given api key is not valid id of series language that should be retrieved Instance of TvdbSeries containing all gained information Gets the series with the given id either from cache (if it has already been loaded) or from the selected tvdb mirror. If you use zip the request automatically downloads the episodes, the actors and the banners, so you should also select those features. To check if this series has already been cached, use the Method IsCached(TvdbSeries _series) Tvdb is not available The given api key is not valid id of series language abbriviation of the series that should be retrieved if true, the full series record will be loaded (series + all episodes), otherwise only the base record will be loaded which contains only series information if true also loads the paths to the banners if true also loads the extended actor information If this series is not already cached and the series has to be downloaded, the zipped version will be downloaded Instance of TvdbSeries containing all gained information Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid The tvdb database is unavailable Gets the full series (including episode information and actors) with the given id either from cache (if it has already been loaded) or from the selected tvdb mirror. To check if this series has already been cached, pleas use the Method IsCached(TvdbSeries _series) Tvdb is not available The given api key is not valid id of series language that should be retrieved if true also loads the paths to the banners Instance of TvdbSeries containing all gained information Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid The tvdb database is unavailable Gets the basic series (without episode information and actors) with the given id either from cache (if it has already been loaded) or from the selected tvdb mirror. To check if this series has already been cached, please use the Method IsCached(TvdbSeries _series) Tvdb is not available The given api key is not valid id of series language that should be retrieved if true also loads the paths to the banners Instance of TvdbSeries containing all gained information Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid The tvdb database is unavailable Returns if the series is locally cached Id of the series Language Load Episodes Load Actors Load Banners True if the series is cached in the given configuration Retrieve the episode with the given id in the given language. Note that the episode is always downloaded from thetvdb since it would be practical to load each and every cached series to look for the episode id id of the episode languageof the episode The retrieved episode Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The episode/series/banner couldn't be located on the tvdb server. Exception is thrown when thetvdb isn't available. Retrieve the episode with the given parameters. This function will find episodes that are already cached. id of the series season number of the episode number of the episode language of the episode The sorting order that should be user when downloading the episode The retrieved episode Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The episode/series/banner couldn't be located on the tvdb server. Exception is thrown when thetvdb isn't available. Retrieve the episode with the given parameters. id of the series When did the episode air language of the episode The given api key is not valid The retrieved episode Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The episode/series/banner couldn't be located on the tvdb server. Exception is thrown when thetvdb isn't available. Get the series from cache Id of series Update all the series (not using zip) with the updated information true if the update was successful, false otherwise Update all the series with the updated information download zipped file? In order to update, the cache has to be initialised true if the update was successful, false otherwise Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid Exception is thrown when thetvdb isn't available. Update all the series with the updated information download zipped file? Specifies the interval of the update (day, week, month) true if the update was successful, false otherwise Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid Exception is thrown when thetvdb isn't available. In order to update, the cache has to be initialised Update all the series with the updated information download zipped file? Specifies the interval of the update (day, week, month) If yes, will reload all series that haven't been updated longer than the update period (which means that only a reload can guarantee that the data is up to date. Should only be used when the data hasn't been updated for over a month (otherwise use monthly updates) true if the update was successful, false otherwise Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The stored api key is invalid Exception is thrown when thetvdb isn't available. In order to update, the cache has to be initialised Gets the date of the last (successfull) update from thetvdb Date of last update or null if no previous update or cache not initialised Aborts the currently running Update if true, all changes that have already been made will be saved to cache, if not they will be discarded Make the update interval of update zipped downloading yes/no true if successful, false otherwise Update the series with the banner true, if the banner was updated successfully, false otherwise Update the series with the episode (Add it to the series if it doesn't already exist or update the episode if the current episode is older than the updated one) Series of the updating episode Episode that is updated Progress of the update run Description of the current update true if episode has been updated, false if not (e.g. timestamp of updated episode older than timestamp of existing episode Download the new series and update the information Series to update When was the last update made The progress done until now true if the series has been upated false if not Reloads all language definitions from tvdb true if successful, false otherwise Closes the cache provider (should be called before exiting the application) Returns all series id's that are already cached in memory or locally via the cacheprovider List of loaded series Forces a complete reload of the series. All information that has already been loaded (including loaded images!) will be deleted and reloaded from tvdb -> if you only want to update the series, use the "MakeUpdate" method Series to reload The new TvdbSeries object Forces a complete reload of the series. All information that has already been loaded will be deleted and reloaded from tvdb -> if you only want to update the series, use the "MakeUpdate" method Series to reload If yes, also deletes previously loaded images The new TvdbSeries object Forces a complete reload of the series. All information that has already been loaded (including loaded images!) will be deleted and reloaded from tvdb -> if you only want to update the series, use the "MakeUpdate" method Series to update Should episodes be loaded as well Should actors be loaded as well Should banners be loaded as well The new TvdbSeries object Forces a complete reload of the series. All information that has already been loaded will be deleted and reloaded from tvdb -> if you only want to update the series, use the "MakeUpdate" method Series to update Should episodes be loaded as well Should actors be loaded as well Should banners be loaded as well If yes, also deletes previously loaded images The new TvdbSeries object Gets the preferred language of the user user information has to be set, otherwise TvdbUserNotFoundException is thrown preferred language of user Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist The tvdb database is unavailable Check if series is in the list of favorites Gets a list of IDs of the favorite series of the user id list of favorite series Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist The tvdb database is unavailable Get the favorite series of the user (only basic series information will be loaded) Which language should be used List of favorite series Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist The tvdb database is unavailable Adds the series id to the users list of favorites and returns the new list of favorites series to add to the favorites new list with all favorites Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist The tvdb database is unavailable Adds the series to the users list of favorites and returns the new list of favorites series to add to the favorites new list with all favorites Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist The tvdb database is unavailable Removes the series id from the users list of favorites and returns the new list of favorites series to remove from the favorites new list with all favorites Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist The tvdb database is unavailable Removes the series from the users list of favorites and returns the new list of favorites series to remove from the favorites new list with all favorites Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist The tvdb database is unavailable Rate the given series series id The rating we want to give for this series Current rating of the series Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist Exception is thrown when thetvdb isn't available. Rate the given episode Episode Id Rating we want to give for episode Current rating of episode Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist Exception is thrown when thetvdb isn't available. Gets all series this user has already ratet Thrown when no user is set A list of all rated series Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist Exception is thrown when thetvdb isn't available. Gets all series this user has already ratet Id of series Thrown when no user is set A list of all ratings for the series Exception is thrown when there was an error parsing the xml files. Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib or http://forums.thetvdb.com/ The user doesn't exist Exception is thrown when thetvdb isn't available. Called whenever an running update makes any progress Called when a running update finishes, UpdateFinishedEventArgs gives an overview of the update UserInfo for this tvdb handler Unique id for every project that is using thetvdb More information on: http://thetvdb.com/wiki/index.php/Programmers_API Is the handler using caching and is the cache initialised Returns list of all available Languages on tvdb list of available languages Are the language definitions already cached EventArgs used when a running update progresses, contains information on the current stage and progress Constructor for UpdateProgressEventArgs The current state of the updating progress Description of the current update stage Progress of the current stage Overall progress of the update Current state of update progress Description of the current update stage Progress of the current stage Overall progress of the update The current state of the updating progress we're currently downloading the update files from http://thetvdb.com we're currently processing the updated series we're currently processing the updated episodes we're currently processing the updated banner the updating itself has finished, do cleanup work EventArgs used when an update has finished, contains start date, end date and an overview of all updated content Constructor for UpdateFinishedEventArgs When did the update start When did the update finish List of all series (ids) that were updated List of all episode (ids)that were updated List of all banners (ids) that were updated When did the update start When did the update finish List of all series (ids) that were updated List of all episode (ids)that were updated List of all banners (ids) that were updated Delegate for UpdateProgressed Event EventArgs Delegate for UpdateFinished event EventArgs Baseclass for a tvdb language The default language (which is English) Id: 7 Abbriviation: en Name: English language valid for all available languages Id: 7 Abbriviation: en Name: English TvdbLanguage constructor TvdbLanguage constructor Id of language Name of language (e.g. English) Abbriviation of language (e.g. en) Returns String that describes the language in the format "Name (Abbriviation)" String representing this object (e.g. "English (en)") Overrides the equals Method to ensure a valid comparison of two language objects. The comparison currently matches abbriviation only. object to compare with True if the two language objects are the same, false otherwise Returns a hash code of the object Hash code Overrides the equality operator to ensure a valid comparison of two language objects. The comparison currently matches abbriviation only. First language object Second language object True if the two language objects are the same, false otherwise Overrides the inequality operator to ensure a valid comparison of two language objects. The comparison currently matches abbriviation only. First language object Second language object True if the two language objects are the same, false otherwise Id of the language Abbriviation of the series Name of the series Holds data pertinent to a data descriptor. Get /set the compressed size of data. Get / set the uncompressed size of data Get /set the crc value. This class assists with writing/reading from Zip files. Initialise an instance of this class. The name of the file to open. Initialise a new instance of . The stream to use. Close the stream. The underlying stream is closed only if is true. Locates a block with the desired . The signature to find. Location, marking the end of block. Minimum size of the block. The maximum variable data. Eeturns the offset of the first byte after the signature; -1 if not found Write Zip64 end of central directory records (File header and locator). The number of entries in the central directory. The size of entries in the central directory. The offset of the dentral directory. Write the required records to end the central directory. The number of entries in the directory. The size of the entries in the directory. The start of the central directory. The archive comment. (This can be null). Read an unsigned short in little endian byte order. Returns the value read. An i/o error occurs. The file ends prematurely Read an int in little endian byte order. Returns the value read. An i/o error occurs. The file ends prematurely Read a long in little endian byte order. The value read. Write an unsigned short in little endian byte order. The value to write. Write a ushort in little endian byte order. The value to write. Write an int in little endian byte order. The value to write. Write a uint in little endian byte order. The value to write. Write a long in little endian byte order. The value to write. Write a ulong in little endian byte order. The value to write. Write a data descriptor. The entry to write a descriptor for. Returns the number of descriptor bytes written. Read data descriptor at the end of compressed data. if set to true [zip64]. The data to fill in. Returns the number of bytes read in the descriptor. Get / set a value indicating wether the the underlying stream is owned or not. If the stream is owned it is closed when this instance is closed. Exception that is thrown when a nonexistent content is requested TvdbInvalidAPIKeyException constructor Message TvdbInvalidAPIKeyException constructor XmlCacheProvider stores all the information that have been retrieved from http://thetvdb.com as human-readable xml files on the hard disk Constructor for XmlCacheProvider This is the folder on the disk where all the information are stored Properly describe the CacheProvider for neat-reasons String describing the cache provider Initialises the cache, should do the following things - initialise connections used for this cache provider (db connections, network shares,...) - create folder structure / db tables / ... if they are not created already - if this is the first time the cache has been initialised (built), mark last_updated with the current date TvdbData object Closes the cache (e.g. close open connection, etc.) true if successful, false otherwise Saves cache settings settings Save the language to cache List of languages that are available on http://thetvdb.com Save the mirror info to cache Mirrors Saves the series to cache The series to save Loads the settings data from cache The loaded TvdbData object Loads the available languages from cache List of available languages Load the available mirrors from cache List of mirrors Loads all series from cache A list of TvdbSeries objects from cache or null Load the give series from cache Id of the series to load Series that has been loaded or null if series doesn't exist Load user info from cache Id of the user TvdbUser object or null if the user couldn't be loaded Saves the user data to cache TvdbUser object Receives a list of all series that have been cached A list of series that have been already stored with this cache provider Check if the series is cached in the given configuration Id of the series Language of the series are episodes loaded are banners loaded are actors loaded true if the series is cached, false otherwise Completely refreshes the cache (all stored information is lost) true if the cache was cleared successfully, false otherwise (e.g. no write rights,...) Remove a specific series from cache the id of the series true if the series was removed from the cache successfully, false otherwise (e.g. series not cached) Save the given image to cache banner to save id of series filename (will be the same name used by LoadImageFromCache) Loads the specified image from the cache series id filename of the image (same one as used by SaveToCache) The loaded image or null if the image wasn't found Removes the specified image from cache (if it has been cached) id of series name of image true if image was removed successfully, false otherwise (e.g. image didn't exist) Is the cache provider initialised Baseclass for a tvdb mirror. A mirror is defined in the tvdb xml by: 1 http://thetvdb.com 7 ]]> TvdbMirror constructor TvdbMirror constructor Id of the mirror Url to the mirror Typemask of the mirror, see property "TypeMask" Id of the mirror The value of typemask is the sum of whichever file types that mirror holds: 1 xml files 2 banner files 4 zip files So, a mirror that has a typemask of 5 would hold XML and ZIP files, but no banner files. Returns true if the mirror offers images for downloading, false otherwise Returns true if the mirror offers xml files for downloading, false otherwise Returns true if the mirror offers zipped downloads, false otherwise Path to the mirror ID's of external sites Id for the popular movie/tv site www.imdb.com Update interval updated content since the last day updated content since the last week updated content since the last month the interval is determined automatically Parses an integer string and returns the number or -99 if the format is invalid Parses an double string and returns the number or -99 if the format is invalid Splits a tvdb string (having the format | item1 | item2 | item3 |) Parse the short description of a tvdb language and returns the proper object. If no such language exists yet (maybe the list of available languages hasn't been downloaded yet), a placeholder is created Converts a unix timestamp (used on tvdb) into a .net datetime object Timestamp to convert .net DateTime object Converts a .net datetime object into a unix timestamp (used on tvdb) Date to convert Unix timestamp returns a day of the week object parsed from the string String representation of this day of the week .net DayOfWeek enum Returns a List of colors parsed from the _text Returns a point objects parsed from _text Parse a boolean value from thetvdb xml files Boolean value to parse Returns the fitting SeriesBanner type from parameter Add the episode to the series Parse a datetime value from thetvdb The date string that needs parsing DateTime object of the parsed date Tries to find an episode by a given id from a list of episodes Id of the episode we're looking for List of episodes The first found TvdbEpisode object or null if nothing was found Tries to find a series by a given id from a list of series Id of the series we're looking for List of series objects The first found TvdbSeries object or null if nothing was found List of available languages -> needed for some methods Type when handling user favorites SharpZipBaseException is the base exception class for the SharpZipLibrary. All library exceptions are derived from this. NOTE: Not all exceptions thrown will be derived from this class. A variety of other exceptions are possible for example Deserialization constructor for this constructor for this constructor Initializes a new instance of the SharpZipBaseException class. Initializes a new instance of the SharpZipBaseException class with a specified error message. A message describing the exception. Initializes a new instance of the SharpZipBaseException class with a specified error message and a reference to the inner exception that is the cause of this exception. A message describing the exception. The inner exception Computes Adler32 checksum for a stream of data. An Adler32 checksum is not as reliable as a CRC32 checksum, but a lot faster to compute. The specification for Adler32 may be found in RFC 1950. ZLIB Compressed Data Format Specification version 3.3) From that document: "ADLER32 (Adler-32 checksum) This contains a checksum value of the uncompressed data (excluding any dictionary data) computed according to Adler-32 algorithm. This algorithm is a 32-bit extension and improvement of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073 standard. Adler-32 is composed of two sums accumulated per byte: s1 is the sum of all bytes, s2 is the sum of all s1 values. Both sums are done modulo 65521. s1 is initialized to 1, s2 to zero. The Adler-32 checksum is stored as s2*65536 + s1 in most- significant-byte first (network) order." "8.2. The Adler-32 algorithm The Adler-32 algorithm is much faster than the CRC32 algorithm yet still provides an extremely low probability of undetected errors. The modulo on unsigned long accumulators can be delayed for 5552 bytes, so the modulo operation time is negligible. If the bytes are a, b, c, the second sum is 3a + 2b + c + 3, and so is position and order sensitive, unlike the first sum, which is just a checksum. That 65521 is prime is important to avoid a possible large class of two-byte errors that leave the check unchanged. (The Fletcher checksum uses 255, which is not prime and which also makes the Fletcher check insensitive to single byte changes 0 - 255.) The sum s1 is initialized to 1 instead of zero to make the length of the sequence part of s2, so that the length does not have to be checked separately. (Any sequence of zeroes has a Fletcher checksum of zero.)" largest prime smaller than 65536 Creates a new instance of the Adler32 class. The checksum starts off with a value of 1. Resets the Adler32 checksum to the initial value. Updates the checksum with a byte value. The data value to add. The high byte of the int is ignored. Updates the checksum with an array of bytes. The source of the data to update with. Updates the checksum with the bytes taken from the array. an array of bytes the start of the data used for this update the number of bytes to use for this update Returns the Adler32 data checksum computed so far. Season bannners for each season of a series come in poster format (400 x 578) and wide format(758 x 140) - Wide format: http://thetvdb.com/wiki/index.php/Wide_Season_Banners - Poster format: http://thetvdb.com/wiki/index.php/Season_Banners Season of the banner Type of the banner Type of the season banner Season banner (poster format) Wide season banner (banner format) no format specified ExtraData tagged value interface. Set the contents of this instance from the data passed. The data to extract contents from. The offset to begin extracting data from. The number of bytes to extract. Get the data representing this instance. Returns the data for this instance. Get the ID for this tagged data value. A raw binary tagged value Initialise a new instance. The tag ID. Set the data from the raw values provided. The raw data to extract values from. The index to start extracting values from. The number of bytes available. Get the binary data representing this instance. The raw binary data representing this instance. The tag ID for this instance. Get the ID for this tagged data value. Get /set the binary data representing this instance. The raw binary data representing this instance. Class representing extended unix date time values. Set the data from the raw values provided. The raw data to extract values from. The index to start extracting values from. The number of bytes available. Get the binary data representing this instance. The raw binary data representing this instance. Test a value to see if is valid and can be represented here. The value to test. Returns true if the value is valid and can be represented; false if not. The standard Unix time is a signed integer data type, directly encoding the Unix time number, which is the number of seconds since 1970-01-01. Being 32 bits means the values here cover a range of about 136 years. The minimum representable time is 1901-12-13 20:45:52, and the maximum representable time is 2038-01-19 03:14:07. Get the ID Get /set the Modification Time Get / set the Access Time Get / Set the Create Time Get/set the values to include. Flags indicate which values are included in this instance. The modification time is included The access time is included The create time is included. Class handling NT date time values. Set the data from the raw values provided. The raw data to extract values from. The index to start extracting values from. The number of bytes available. Get the binary data representing this instance. The raw binary data representing this instance. Test a valuie to see if is valid and can be represented here. The value to test. Returns true if the value is valid and can be represented; false if not. NTFS filetimes are 64-bit unsigned integers, stored in Intel (least significant byte first) byte order. They determine the number of 1.0E-07 seconds (1/10th microseconds!) past WinNT "epoch", which is "01-Jan-1601 00:00:00 UTC". 28 May 60056 is the upper limit Get the ID for this tagged data value. Get/set the last modification time. Get /set the create time Get /set the last access time. A factory that creates tagged data instances. Get data for a specific tag value. The tag ID to find. The data to search. The offset to begin extracting data from. The number of bytes to extract. The located value found, or null if not found. A class to handle the extra data field for Zip entries Extra data contains 0 or more values each prefixed by a header tag and length. They contain zero or more bytes of actual data. The data is held internally using a copy on write strategy. This is more efficient but means that for extra data created by passing in data can have the values modified by the caller in some circumstances. Initialise a default instance. Initialise with known extra data. The extra data. Get the raw extra data value Returns the raw byte[] extra data this instance represents. Clear the stored data. Get a read-only for the associated tag. The tag to locate data for. Returns a containing tag data or null if no tag was found. Get the tagged data for a tag. The tag to search for. Returns a tagged value or null if none found. Find an extra data value The identifier for the value to find. Returns true if the value was found; false otherwise. Add a new entry to extra data. The value to add. Add a new entry to extra data The ID for this entry. The data to add. If the ID already exists its contents are replaced. Start adding a new entry. Add data using , , , or . The new entry is completed and actually added by calling Add entry data added since using the ID passed. The identifier to use for this entry. Add a byte of data to the pending new entry. The byte to add. Add data to a pending new entry. The data to add. Add a short value in little endian order to the pending new entry. The data to add. Add an integer value in little endian order to the pending new entry. The data to add. Add a long value in little endian order to the pending new entry. The data to add. Delete an extra data field. The identifier of the field to delete. Returns true if the field was found and deleted. Read a long in little endian form from the last found data value Returns the long value read. Read an integer in little endian form from the last found data value. Returns the integer read. Read a short value in little endian form from the last found data value. Returns the short value read. Read a byte from an extra data The byte value read or -1 if the end of data has been reached. Skip data during reading. The number of bytes to skip. Internal form of that reads data at any location. Returns the short value read. Dispose of this instance. Gets the current extra data length. Get the length of the last value found by This is only valid if has previously returned true. Get the index for the current read value. This is only valid if has previously returned true. Initially the result will be the index of the first byte of actual data. The value is updated after calls to , and . Get the number of bytes remaining to be read for the current value; A special stream deflating or compressing the bytes that are written to it. It uses a Deflater to perform actual deflating.
Authors of the original java version : Tom Tromey, Jochen Hoenicke
Creates a new DeflaterOutputStream with a default Deflater and default buffer size. the output stream where deflated output should be written. Creates a new DeflaterOutputStream with the given Deflater and default buffer size. the output stream where deflated output should be written. the underlying deflater. Creates a new DeflaterOutputStream with the given Deflater and buffer size. The output stream where deflated output is written. The underlying deflater to use The buffer size to use when deflating bufsize is less than or equal to zero. baseOutputStream does not support writing deflater instance is null Finishes the stream by calling finish() on the deflater. Not all input is deflated Encrypt a block of data Data to encrypt. NOTE the original contents of the buffer are lost Offset of first byte in buffer to encrypt Number of bytes in buffer to encrypt Initializes encryption keys based on given . The password. Deflates everything in the input buffers. This will call def.deflate() until all bytes from the input buffers are processed. Sets the current position of this stream to the given value. Not supported by this class! The offset relative to the to seek. The to seek from. The new position in the stream. Any access Sets the length of this stream to the given value. Not supported by this class! The new stream length. Any access Read a byte from stream advancing position by one The byte read cast to an int. THe value is -1 if at the end of the stream. Any access Read a block of bytes from stream The buffer to store read data in. The offset to start storing at. The maximum number of bytes to read. The actual number of bytes read. Zero if end of stream is detected. Any access Asynchronous reads are not supported a NotSupportedException is always thrown The buffer to read into. The offset to start storing data at. The number of bytes to read The async callback to use. The state to use. Returns an Any access Asynchronous writes arent supported, a NotSupportedException is always thrown The buffer to write. The offset to begin writing at. The number of bytes to write. The to use. The state object. Returns an IAsyncResult. Any access Flushes the stream by calling Flush on the deflater and then on the underlying stream. This ensures that all bytes are flushed. Calls and closes the underlying stream when is true. Writes a single byte to the compressed output stream. The byte value. Writes bytes from an array to the compressed stream. The byte array The offset into the byte array where to start. The number of bytes to write. This buffer is used temporarily to retrieve the bytes from the deflater and write them to the underlying output stream. The deflater which is used to deflate the stream. Base stream the deflater depends on. Get/set flag indicating ownership of the underlying stream. When the flag is true will close the underlying stream also. Allows client to determine if an entry can be patched after its added Get/set the password used for encryption. When set to null or if the password is empty no encryption is performed Gets value indicating stream can be read from Gets a value indicating if seeking is supported for this stream This property always returns false Get value indicating if this stream supports writing Get current length of stream Gets the current position within the stream. Any attempt to set position This class stores the pending output of the Deflater. author of the original java version : Jochen Hoenicke This class is general purpose class for writing data to a buffer. It allows you to write bits as well as bytes Based on DeflaterPending.java author of the original java version : Jochen Hoenicke Internal work buffer construct instance using default buffer size of 4096 construct instance using specified buffer size size to use for internal buffer Clear internal state/buffers Write a byte to buffer The value to write Write a short value to buffer LSB first The value to write. write an integer LSB first The value to write. Write a block of data to buffer data to write offset of first byte to write number of bytes to write Align internal buffer on a byte boundary Write bits to internal buffer source of bits number of bits to write Write a short value to internal buffer most significant byte first value to write Flushes the pending buffer into the given output array. If the output array is to small, only a partial flush is done. The output array. The offset into output array. The maximum number of bytes to store. The number of bytes flushed. Convert internal buffer to byte array. Buffer is empty on completion The internal buffer contents converted to a byte array. The number of bits written to the buffer Indicates if buffer has been flushed Construct instance with default buffer size Exception thrown when a request is made which requires a valid api key but none is set TvdbInvalidAPIKeyException constructor Message TvdbInvalidAPIKeyException constructor PkzipClassic embodies the classic or original encryption facilities used in Pkzip archives. While it has been superceded by more recent and more powerful algorithms, its still in use and is viable for preventing casual snooping Generates new encryption keys based on given seed The seed value to initialise keys with. A new key value. PkzipClassicCryptoBase provides the low level facilities for encryption and decryption using the PkzipClassic algorithm. Transform a single byte The transformed value Set the key schedule for encryption/decryption. The data use to set the keys from. Update encryption keys Reset the internal state. PkzipClassic CryptoTransform for encryption. Initialise a new instance of The key block to use. Transforms the specified region of the specified byte array. The input for which to compute the transform. The offset into the byte array from which to begin using data. The number of bytes in the byte array to use as data. The computed transform. Transforms the specified region of the input byte array and copies the resulting transform to the specified region of the output byte array. The input for which to compute the transform. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. The output to which to write the transform. The offset into the output byte array from which to begin writing data. The number of bytes written. Cleanup internal state. Gets a value indicating whether the current transform can be reused. Gets the size of the input data blocks in bytes. Gets the size of the output data blocks in bytes. Gets a value indicating whether multiple blocks can be transformed. PkzipClassic CryptoTransform for decryption. Initialise a new instance of . The key block to decrypt with. Transforms the specified region of the specified byte array. The input for which to compute the transform. The offset into the byte array from which to begin using data. The number of bytes in the byte array to use as data. The computed transform. Transforms the specified region of the input byte array and copies the resulting transform to the specified region of the output byte array. The input for which to compute the transform. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. The output to which to write the transform. The offset into the output byte array from which to begin writing data. The number of bytes written. Cleanup internal state. Gets a value indicating whether the current transform can be reused. Gets the size of the input data blocks in bytes. Gets the size of the output data blocks in bytes. Gets a value indicating whether multiple blocks can be transformed. Defines a wrapper object to access the Pkzip algorithm. This class cannot be inherited. Generate an initial vector. Generate a new random key. Create an encryptor. The key to use for this encryptor. Initialisation vector for the new encryptor. Returns a new PkzipClassic encryptor Create a decryptor. Keys to use for this new decryptor. Initialisation vector for the new decryptor. Returns a new decryptor. Get / set the applicable block size in bits. The only valid block size is 8. Get an array of legal key sizes. Get an array of legal block sizes. Get / set the key value applicable. This class allows us to retrieve a specified number of bits from the input buffer, as well as copy big byte blocks. It uses an int buffer to store up to 31 bits for direct manipulation. This guarantees that we can get at least 16 bits, but we only need at most 15, so this is all safe. There are some optimizations in this class, for example, you must never peek more than 8 bits more than needed, and you must first peek bits before you may drop them. This is not a general purpose class but optimized for the behaviour of the Inflater. authors of the original java version : John Leuner, Jochen Hoenicke Constructs a default StreamManipulator with all buffers empty Get the next sequence of bits but don't increase input pointer. bitCount must be less or equal 16 and if this call succeeds, you must drop at least n - 8 bits in the next call. The number of bits to peek. the value of the bits, or -1 if not enough bits available. */ Drops the next n bits from the input. You should have called PeekBits with a bigger or equal n before, to make sure that enough bits are in the bit buffer. The number of bits to drop. Gets the next n bits and increases input pointer. This is equivalent to followed by , except for correct error handling. The number of bits to retrieve. the value of the bits, or -1 if not enough bits available. Skips to the next byte boundary. Copies bytes from input buffer to output buffer starting at output[offset]. You have to make sure, that the buffer is byte aligned. If not enough bytes are available, copies fewer bytes. The buffer to copy bytes to. The offset in the buffer at which copying starts The length to copy, 0 is allowed. The number of bytes copied, 0 if no bytes were available. Length is less than zero Bit buffer isnt byte aligned Resets state and empties internal buffers Add more input for consumption. Only call when IsNeedingInput returns true data to be input offset of first byte of input number of bytes of input to add. Gets the number of bits available in the bit buffer. This must be only called when a previous PeekBits() returned -1. the number of bits available. Gets the number of bytes available. The number of bytes available. Returns true when SetInput can be called Class that holds all user information TvdbUser constructor Name of the user, can be choosen freely User identifier from http://thetvdb.com TvdbUser constructor Preferred language of the user This is the unique identifier assigned to every user. They can access this value by visiting the account settings page on the site. This is a 16 character alphanumeric string, but you should program your applications to handle id strings up to 32 characters in length. Username List of user favorites Description of TvdbInvalidXmlException. TvdbInvalidXmlException constructor Message TvdbInvalidXmlException constructor Message Inner Exception TvdbInvalidXmlException constructor Series class holds all the info that can be retrieved from http://thetvdb.com.

Those are as follows:

- Base information:
73739 |Malcolm David Kelley|Jorge Garcia|Maggie Grace|...| Thursday 9:00 PM TV-14 2004-09-22 |Action and Adventure|Drama|Science-Fiction| tt0411008 en ABC After Oceanic Air flight 815... 8.9 60 24313 Lost Continuing graphical/24313-g2.jpg fanart/original/73739-1.jpg 1205694666 SH672362 - Banner information
- Episode information
- Extended actor information

Each of those can be downloaded seperately. If the information is downloaded as zipped file, everything is downloaded at once
Basic constructor for the TvdbSeries class Create a series object with all the information contained in the TvdbSeriesFields object Add a new language to the series Set the language of the series to one of the languages that have already been loaded The new language for this series true if success, false otherwise Set the language of the series to one of the languages that have already been loaded The new language abbriviation for this series true if success, false otherwise Get all languages that have already been loaded for this series List of all translations that are loaded for this series Return a list of episodes for the given season Season for which episodes should be returned List of episodes for the given season returns SeriesName (SeriesId) String representing this series Uptdate the info of the current series with the updated one TvdbSeries object Get all available Translations Is the series a favorite Returns the genre string in the format | genre1 | genre2 | genre3 | Formatted String of actors that appear during this episode in the format | actor1 | actor2 | actor3 | returns a list of all banners for this series Is the banner info loaded returns a list of all series banners for this series Returns a list of all season banners for this series Returns a list of all season banners for this series Returns a list of all fanart banners for this series How many Season does the series have List of loaded tvdb actors Is the actor info loaded Represents exception conditions specific to Zip archive handling Deserialization constructor for this constructor for this constructor Initializes a new instance of the ZipException class. Initializes a new instance of the ZipException class with a specified error message. The error message that explains the reason for the exception. Initialise a new instance of ZipException. A message describing the error. The exception that is the cause of the current exception. Strategies for deflater The default strategy This strategy will only allow longer string repetitions. It is useful for random data with a small character set. This strategy will not look for string repetitions at all. It only encodes with Huffman trees (which means, that more common characters get a smaller encoding. Low level compression engine for deflate algorithm which uses a 32K sliding window with secondary compression from Huffman/Shannon-Fano codes. Construct instance with pending buffer Pending buffer to use > Deflate drives actual compression of data True to flush input buffers Finish deflation with the current input. Returns true if progress has been made. Sets input data to be deflated. Should only be called when NeedsInput() returns true The buffer containing input data. The offset of the first byte of data. The number of bytes of data to use as input. Determines if more input is needed. Return true if input is needed via SetInput Set compression dictionary The buffer containing the dictionary data The offset in the buffer for the first byte of data The length of the dictionary data. Reset internal state Reset Adler checksum Set the deflate level (0-9) The value to set the level to. Fill the window Inserts the current string in the head hash and returns the previous value for this hash. The previous hash value Find the best (longest) string in the window matching the string starting at strstart. Preconditions: strstart + MAX_MATCH <= window.length. True if a match greater than the minimum length is found Hashtable, hashing three characters to an index for window, so that window[index]..window[index+2] have this hash code. Note that the array should really be unsigned short, so you need to and the values with 0xffff. prev[index & WMASK] points to the previous index that has the same hash code as the string starting at index. This way entries with the same hash code are in a linked list. Note that the array should really be unsigned short, so you need to and the values with 0xffff. Points to the current character in the window. lookahead is the number of characters starting at strstart in window that are valid. So window[strstart] until window[strstart+lookahead-1] are valid characters. This array contains the part of the uncompressed stream that is of relevance. The current character is indexed by strstart. The current compression function. The input data for compression. The total bytes of input read. The offset into inputBuf, where input data starts. The end offset of the input data. The adler checksum Get current value of Adler checksum Total data processed Get/set the deflate strategy Exception thrown when no user has been found TvdbUserNotFoundException constructor Message Information on server structure and mirrors of tvdb /api// |---- mirrors.xml |---- languages.xml | |---- series/ | |---- / | |---- .xml (Base Series Record) | |---- banners.xml (All banners related to this series) | | | |---- all/ | | |---- .xml (Full Series Record) | | |---- .zip (Zipped version of Full Series Record and banners.xml) | | | |---- default/ (sorts using the default ordering method) | | |---- // | | |---- .xml (Base Episode Record) | | | |---- dvd/ (sorts using the dvd ordering method) | | |---- // | | |---- .xml (Base Episode Record) | | | |---- absolute/ (sorts using the absolute ordering method) | |---- / | |---- .xml (Base Episode Record) | |---- episodes | |---- / (will return en.xml by default) | |---- .xml (Base Episode Record) | |---- (updates) |---- s.xml |---- updates_.zip ]]> Base server where all operations start Path of file where we get the available languages Creates link which (depending on params) gets user favorites, adds a series to user favorites or removes a series from the favorite lis Link Creates link which only retrieves the user favourites Link Create link to get actor info series id api key Link create a link to all series rated by the user api key user identifier Link create a link to all items rated by the user for this series api key user identifier id of the series Link Class representing the result of a tvdb name query -> for further information visit http://thetvdb.com/wiki/index.php/API:GetSeries TvdbSearchResult constructor TvdbSearchResult constructor Id of series Id of the returned series Name of the returned series When was the returned series aired first Language of the returned series Overview of the returned series Banner of the returned series Imdb id of the returned series Represents a rating entry from thetvdb Which item type is this rating for Community Rating is a double value from 0 to 10 and is the mean value of all user ratings for this item The rating from this user Enum with all items on thetvdb that can be rated Item is a series Item is an episode Determines how entries are tested to see if they should use Zip64 extensions or not. Zip64 will not be forced on entries during processing. An entry can have this overridden if required Zip64 should always be used. #ZipLib will determine use based on entry values when added to archive. The kind of compression used for an entry in an archive A direct copy of the file contents is held in the archive Common Zip compression method using a sliding dictionary of up to 32KB and secondary compression from Huffman/Shannon-Fano trees An extension to deflate with a 64KB window. Not supported by #Zip currently BZip2 compression. Not supported by #Zip. WinZip special for AES encryption, Not supported by #Zip. Identifies the encryption algorithm used for an entry No encryption has been used. Encrypted using PKZIP 2.0 or 'classic' encryption. DES encryption has been used. RCS encryption has been used for encryption. Triple DES encryption with 168 bit keys has been used for this entry. Triple DES with 112 bit keys has been used for this entry. AES 128 has been used for encryption. AES 192 has been used for encryption. AES 256 has been used for encryption. RC2 corrected has been used for encryption. Blowfish has been used for encryption. Twofish has been used for encryption. RC4 has been used for encryption. An unknown algorithm has been used for encryption. Defines the contents of the general bit flags field for an archive entry. Bit 0 if set indicates that the file is encrypted Bits 1 and 2 - Two bits defining the compression method (only for Method 6 Imploding and 8,9 Deflating) Bit 3 if set indicates a trailing data desciptor is appended to the entry data Bit 4 is reserved for use with method 8 for enhanced deflation Bit 5 if set indicates the file contains Pkzip compressed patched data. Requires version 2.7 or greater. Bit 6 if set strong encryption has been used for this entry. Bit 7 is currently unused Bit 8 is currently unused Bit 9 is currently unused Bit 10 is currently unused Bit 11 if set indicates the filename and comment fields for this file must be encoded using UTF-8. Bit 12 is documented as being reserved by PKware for enhanced compression. Bit 13 if set indicates that values in the local header are masked to hide their actual values, and the central directory is encrypted. Used when encrypting the central directory contents. Bit 14 is documented as being reserved for use by PKware Bit 15 is documented as being reserved for use by PKware This class contains constants used for Zip format files The version made by field for entries in the central header when created by this library This is also the Zip version for the library when comparing against the version required to extract for an entry. The version made by field for entries in the central header when created by this library This is also the Zip version for the library when comparing against the version required to extract for an entry. See ZipInputStream.CanDecompressEntry. The minimum version required to support strong encryption The minimum version required to support strong encryption The version required for Zip64 extensions Size of local entry header (excluding variable length fields at end) Size of local entry header (excluding variable length fields at end) Size of Zip64 data descriptor Size of data descriptor Size of data descriptor Size of central header entry (excluding variable fields) Size of central header entry Size of end of central record (excluding variable fields) Size of end of central record (excluding variable fields) Size of 'classic' cryptographic header stored before any entry data Size of cryptographic header stored before entry data Signature for local entry header Signature for local entry header Signature for spanning entry Signature for spanning entry Signature for temporary spanning entry Signature for temporary spanning entry Signature for data descriptor This is only used where the length, Crc, or compressed size isnt known when the entry is created and the output stream doesnt support seeking. The local entry cannot be 'patched' with the correct values in this case so the values are recorded after the data prefixed by this header, as well as in the central directory. Signature for data descriptor This is only used where the length, Crc, or compressed size isnt known when the entry is created and the output stream doesnt support seeking. The local entry cannot be 'patched' with the correct values in this case so the values are recorded after the data prefixed by this header, as well as in the central directory. Signature for central header Signature for central header Signature for Zip64 central file header Signature for Zip64 central file header Signature for Zip64 central directory locator Signature for archive extra data signature (were headers are encrypted). Central header digitial signature Central header digitial signature End of central directory record signature End of central directory record signature Convert a portion of a byte array to a string. Data to convert to string Number of bytes to convert starting from index 0 data[0]..data[length - 1] converted to a string Convert a byte array to string Byte array to convert dataconverted to a string Convert a byte array to string The applicable general purpose bits flags Byte array to convert The number of bytes to convert. dataconverted to a string Convert a byte array to string Byte array to convert The applicable general purpose bits flags dataconverted to a string Convert a string to a byte array String to convert to an array Converted array Convert a string to a byte array The applicable general purpose bits flags String to convert to an array Converted array Initialise default instance of ZipConstants Private to prevent instances being created. Default encoding used for string conversion. 0 gives the default system OEM code page. Dont use unicode encodings if you want to be Zip compatible! Using the default code page isnt the full solution neccessarily there are many variable factors, codepage 850 is often a good choice for European users, however be careful about compatability. This is the DeflaterHuffman class. This class is not thread safe. This is inherent in the API, due to the split of Deflate and SetInput. author of the original java version : Jochen Hoenicke Pending buffer to use Construct instance with pending buffer Pending buffer to use Reset internal state Write all trees to pending buffer The number/rank of treecodes to send. Compress current buffer writing data to pending buffer Flush block to output with no compression Data to write Index of first byte to write Count of bytes to write True if this is the last block Flush block to output with compression Data to flush Index of first byte to flush Count of bytes to flush True if this is the last block Get value indicating if internal buffer is full true if buffer is full Add literal to buffer Literal value to add to buffer. Value indicating internal buffer is full Add distance code and length to literal and distance trees Distance code Length Value indicating if internal buffer is full Reverse the bits of a 16 bit value. Value to reverse bits Value with bits reversed Resets the internal state of the tree Check that all frequencies are zero At least one frequency is non-zero Set static codes and length new codes length for new codes Build dynamic codes and lengths Get encoded length Encoded length, the sum of frequencies * lengths Scan a literal or distance tree to determine the frequencies of the codes in the bit length tree. Write tree values Tree to write Generate a table for a byte-wise 32-bit CRC calculation on the polynomial: x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. Polynomials over GF(2) are represented in binary, one bit per coefficient, with the lowest powers in the most significant bit. Then adding polynomials is just exclusive-or, and multiplying a polynomial by x is a right shift by one. If we call the above polynomial p, and represent a byte as the polynomial q, also with the lowest power in the most significant bit (so the byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p, where a mod b means the remainder after dividing a by b. This calculation is done using the shift-register method of multiplying and taking the remainder. The register is initialized to zero, and for each incoming bit, x^32 is added mod p to the register if the bit is a one (where x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by x (which is shifting right by one and adding x^32 mod p if the bit shifted out is a one). We start with the highest power (least significant bit) of q and repeat for all eight bits of q. The table is simply the CRC of all possible eight bit values. This is all the information needed to generate CRC's on data a byte at a time for all combinations of CRC register values and incoming bytes. The crc data checksum so far. Resets the CRC32 data checksum as if no update was ever called. Updates the checksum with the int bval. the byte is taken as the lower 8 bits of value Updates the checksum with the bytes taken from the array. buffer an array of bytes Adds the byte array to the data checksum. The buffer which contains the data The offset in the buffer where the data starts The number of data bytes to update the CRC with. Returns the CRC32 data checksum computed so far. Compare episodes according to their default episode numbers (aired) Compare episodes according to their dvd episode number Compare episodes according to their absolute episode number