C API for TVDB (http://bit.ly/bE4F6V)
C
Pull request Compare This branch is 17 commits ahead, 9 commits behind dgnorton:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
build
cmake/modules
src
.gitignore
CMakeLists.txt
README
cmake_uninstall.cmake.in

README

Description:

  libtvdb may someday become a useable C library implementation of The TVDB.com API (http://thetvdb.com/wiki/index.php?title=Programmers_API).  Or, it may just be something I waste a few hours on and never make anything useful of!

  It's usually tested on Windows XP 32 bit and Ubuntu 32 & 64 bit but you may find it in a broken state at any given moment.  It's still in very early development.  If it's broken, try moving the HEAD back until you find a working commit to play with...or, help me fix what's broken.  :-)

  Currently, it should work well enough to retrieve mirrors, server time, and a list of series from a name (e.g., "xfiles" currently returns info on three xfiles related series).  The core libtvdb functions return just the raw XML string or save a zip file from TVDB.com.  You can either use your own XML parser or you can use libtvdb functions that parse the XML into libtvdb data structs (e.g., linked list, buffer, etc.).

  There are still API functions that need to be added.  And, in the future, I hope to add functionality to unzip files from TVDB.com and parse the contents.

Goals:

- Cross platform ANSI C (minimum: Linux, Windows and Mac)
- Build as static or shared library (32 or 64 bit)
- Keep dependencies to a minimum (but don't reinvent the wheel)
- Open source with MIT license
  
Build:

CMake 2.8 or higher is required as well as libCURL and libxml2.

tvdb builds as a static lib by default but can be built as a shared lib (.so or .dll, for example) by running CMake with the following option...

cmake -DSHARED_LIB:BOOL=ON ..

  Windows:

    - Edit INCLUDE and LIB environment variables to include the libCURL and libxml2 paths.  Eventually libxml2 will be optional but for now it's required.
    

My branch breaks compatibility with Windows as far as I know, since I don't have a Windows machine to test on.
Please look at the commits for the main branch to get the Windows compatible source.
I did the development and testing of this branch on Ubuntu 64 bit.