XLibrary
About
XLibrary is my attempt to maintain a usable library of C++ code to handle routine tasks. The main focus of the library is maintainability through consistency and simplicity. The secondary focus is to have a simple, usable, and object oriented interface; avoiding, but learning from the horrible precedents set by popular libraries.
Modules
- XBuffer - Block allocating general purpose buffer.
- XFile - File I/O module.
- XList - Intuitive, usable, templated list container for managed memory items.
- XLinkList - List container for references to items.
- XServer - Container for IP/Host and port pair for use with socket connections.
- XSocket - Socket based network connection. (currently TCP and Windows only)
- XThread - Windows threading object. (unfinished)
- XURL - URL web address container and URL parser.
- XHTTPClient - Basic POST/GET HTTP client.
- (Yahoo Chat) - Several classes related to Yahoo chat and YMSG 15 protocol.
- (DirectX) - A start on encapsulating DirectX API.
Notes
- The Yahoo protocol modules are YMSG version 15 only.
- The Yahoo Captcha URLs have become outdated.
- Only Windows compatible version of XSocket (Other modules should be cross platform).
- XThread hasn't been finished or cleaned up and what's there is targeted for Windows.
- The DirectX Modules are new and largely untested.
- DirectX module for Mouse is broke.
Download
XLibrary is tested to compile on:
- MinGW32 GCC 3.4.5
- Borland C++ Builder 6 (now Embaracadero/CodeGear)
- Visual Studio 2003 (C++)
Source Code: LibX2.3.zip (161 KB) Version 2.3
MD5 Sum: 03f6f08ee234fe14344be695bb5f63f5
DirectX Module Test - Visual Studio 2003
Source Code: XLib2.3_Test_DirectX_VS2003.zip (968 KB) For version 2.3
MD5 Sum: 857380bcc9982f9383cb4af12164c3d8
Note: Extract in XLibrary 2.3 directory. Assumes ImageTest.bmp is in the executable's directory. Also assumes Windows is on the C:\ drive to locate tada.wav for DirectSound test.
Version History
- Version 2.3: Further progress made on the DirectX modules. Added and tested Direct Sound module with the ability to load a standard Wave file. I made a test module for the DirectX classes using VC++ 2003. You will note that the Direct Input mouse class still doesn't work.
(current)
- Version 2.2: Further mileage of use has been gained, benefiting many of the base modules. Yahoo and Yahoo YMSG 15 classes are released. Started on some DirectX classes. Thread still unused/unfinished.
LibX2.2.zip (156 KB) Version 2.2
MD5 Sum: 29b06ca0187538f26eaf4b19cb437e2f
- Version 2.0: This is a ground up rewrite of all library modules. This version uses much better coding practices and extremely clean and maintainable source. Usability of modules, especially List modules, are dramatically improved. Reliance on a XString module is removed. All modules now use C style strings and are much more independent of each other.
The modules included in this version are tested release candidates (aside from XFile and XThread as previously noted).
LibX2.0.zip (17 KB) Version 2.0
MD5 Sum: a1a2d6c226168dc99e0e794b09019cdb
- Version 1.1: This is an extensive source code library that includes Yahoo protocol modules. See the following release notes for more details.
LibXv1_1_post_release_notes.txt
LibXv1_1.zip (109 KB) Version 1.1
MD5 Sum: 99a400ee5e6eaed3a43274354c4f03c7