2005-10-31 23:19  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.ac: Updated the version numbers and the NEWS
	file.

2005-10-31 23:19  Pierre Phaneuf <pp@ludusdesign.com>

	* uuid/uuid_time.c: Some debug code in the uuid directory doesn't
	build when --enable-debug is used.

2005-10-26 19:19  Simon Law <sfllaw@nit.ca>

	* configure.ac, config/config.mk.in: Get XPLC building on FreeBSD
	4.11.

2005-10-24 14:27  Simon Law <sfllaw@nit.ca>

	* debian/copyright: Update copyright information.

2005-10-21 16:23  Simon Law <sfllaw@nit.ca>

	* debian/: .cvsignore, changelog, control.in, rules,
	uuidcdef.install, uuidcdef.manpages: Add a uuidcdef package.

2005-10-21 16:22  Simon Law <sfllaw@nit.ca>

	* config.guess, config.sub: Update with new autoconf host guessing.

2005-10-21 16:19  Simon Law <sfllaw@nit.ca>

	* uuid/bin/uuidgen.c: Bug report address.

2005-10-21 15:00  Simon Law <sfllaw@nit.ca>

	* config/rules.mk: Manpages go in man1.

2005-10-21 14:56  Simon Law <sfllaw@nit.ca>

	* config/config.mk.in, config/rules.mk, uuid/bin/uuidgen.1: Add a
	manpage for uuidgen.

2005-10-21 14:18  Simon Law <sfllaw@nit.ca>

	* uuid/bin/uuidgen.c: New FSF address.

2005-10-21 14:17  Simon Law <sfllaw@nit.ca>

	* uuid/bin/uuidgen.c: Fix whitespace.

2005-10-21 13:18  Simon Law <sfllaw@nit.ca>

	* configure.ac, config/config.mk.in, config/rules.mk,
	uuid/.cvsignore, uuid/COPYING, uuid/ChangeLog, uuid/clear.c,
	uuid/compare.c, uuid/copy.c, uuid/gen_uuid.c, uuid/gen_uuid_nt.c,
	uuid/isnull.c, uuid/pack.c, uuid/parse.c, uuid/rules.mk,
	uuid/unpack.c, uuid/unparse.c, uuid/uuid.h, uuid/uuidP.h,
	uuid/uuid_time.c, uuid/uuid_types.h.in, uuid/vars.mk,
	uuid/bin/.cvsignore, uuid/bin/tst_uuid.c, uuid/bin/uuidgen.c: Add a
	UUID generation program that also spits out XPLC C definitions. 
	This is supposed to be quite portable, so I've only used what POSIX
	gives us.
	
	http://bugs.debian.org/310755

2005-10-21 13:08  Simon Law <sfllaw@nit.ca>

	* config/vars.mk: make distclean now removes include/autoconf.h

2005-10-21 13:03  Simon Law <sfllaw@nit.ca>

	* configure.ac, config/config.mk.in, config/rules.mk,
	dist/xplc.pc.in: Properly handle the versioned include directory,
	which we never did correctly before.

2005-10-18 21:08  Simon Law <sfllaw@nit.ca>

	* include/xplc/: ICategory.h, ICategoryIterator.h,
	ICategoryManager.h, IFactory.h, IModule.h, IModuleLoader.h,
	IModuleManagerFactory.h, IMoniker.h, IMonikerService.h, IObject.h,
	IServiceHandler.h, IServiceManager.h, IStaticServiceHandler.h,
	IWeakRef.h, delete.h, factory.h, module.h, ptr.h, trace.h, utils.h,
	uuid.h, uuidops.h, xplc.h: Now get this to compile without warnings
	in GCC 2.95.

2005-10-18 20:35  Simon Law <sfllaw@nit.ca>

	* include/xplc/: ICategory.h, ICategoryIterator.h,
	ICategoryManager.h, IFactory.h, IModule.h, IModuleLoader.h,
	IModuleManagerFactory.h, IMoniker.h, IMonikerService.h, IObject.h,
	IServiceHandler.h, IServiceManager.h, IStaticServiceHandler.h,
	IWeakRef.h, delete.h, factory.h, module.h, ptr.h, trace.h, utils.h,
	uuid.h, uuidops.h, xplc.h: Suppress warnings about non-virtual
	destructors in G++ 4 and up, by making XPLC headers considered
	system headers.

2005-10-18 20:11  Simon Law <sfllaw@nit.ca>

	* config/rules.mk: Install the header files in a versioned location
	as well, since XPLC's API has not stabilised either.

2005-07-19 22:26  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.ac: Updated the version numbers and the NEWS
	file.

2005-07-06 18:11  Simon Law <sfllaw@nit.ca>

	* Makefile, debian/changelog, debian/control.in, dist/pkg-config:
	Remove build-depends on pkg-config.

2005-07-06 17:32  Simon Law <sfllaw@nit.ca>

	* debian/changelog: Update changelog in preparation for the new
	XPLC 0.3.12 release.

2005-07-06 17:30  Simon Law <sfllaw@nit.ca>

	* debian/control.in: Apparently, we need pkg-config now.

2005-04-24 23:33  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/module.h, tests/test010.cpp, tests/testobj.cpp,
	tests/testobj.h, xplc/moduleloader.cpp: Added registration of the
	category information contained in modules. Added unit testing
	accordingly.

2005-04-12 01:53  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/: testobj.cpp, testobj.h: Added membership in a category to
	the test module.

2005-04-08 23:04  Pierre Phaneuf <pp@ludusdesign.com>

	* examples/simple-module/module.cpp, include/xplc/module.h,
	tests/testobj.cpp, xplc/moduleloader.cpp: Removed the
	loadModule/unloadModule function pointers and added a list of
	categories to XPLC_ModuleInfo (currently unused).

2005-04-08 22:50  Pierre Phaneuf <pp@ludusdesign.com>

	* debian/: changelog, rules: Applied updates to the Debian
	packaging.

2005-04-08 22:46  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: moduleloader.cpp, moduleloader.h: Make it possible to use
	the Module class internally for non-dynamically loaded modules.

2005-03-09 20:03  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac: Moved the warning message about the unstable API in
	the configure script to the end, where it can be actually noticed.

2005-02-10 07:13  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ICategoryManager.h, xplc/catmgr.cpp, xplc/catmgr.h:
	Removed the unimplemented support of ICategoryManager for
	IServiceHandler.  It's a good idea, though, but it'll return when
	it's needed (YAGNI, again) and with unit tests coverage to go with
	it.

2005-02-10 07:00  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ICategoryIterator.h,
	include/xplc/ICategoryManager.h, tests/test010.cpp,
	xplc/categorynode.h, xplc/catiter.cpp, xplc/catiter.h,
	xplc/catmgr.cpp, xplc/catmgr.h: Added an optional string that will
	be kept with a category registration.

2005-02-10 06:51  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ICategory.h, xplc/category.cpp, xplc/category.h:
	Applied YAGNI and removed the gunk about ICategory possibly
	deriving from IFactory. Will be redone in time, if deemed
	necessary.

2005-02-04 16:59  Pierre Phaneuf <pp@ludusdesign.com>

	* debian/changelog: Fixed the version number of the Debian package
	according to the wishes of the maintainer (Simon Law).

2005-02-04 16:12  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.ac, debian/changelog: Updated the version numbers
	and the NEWS file.

2005-01-06 00:08  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/uuid.h, include/xplc/uuidops.h, tests/test007.cpp,
	xplc-cxx/uuidtostr.cpp: Fixed AMD64 portability issue.

2005-01-05 23:21  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/rules.mk: You can pass a TESTS variable containing the
	space separated list of tests to run to the "make tests" target.

2004-12-31 08:56  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/testmain.cpp: Some improvements of the test framework.

2004-12-02 13:22  Simon Law <sfllaw@nit.ca>

	* debian/: changelog, control.in: XPLC should Build-Depend on
	debhelper.

2004-11-18 07:37  Simon Law <sfllaw@nit.ca>

	* debian/changelog: Let people build their own unofficial Debian
	builds of xplc.

2004-11-18 07:36  Simon Law <sfllaw@nit.ca>

	* debian/changelog: Note the bug number of xplc's Debian ITP.

2004-10-07 19:42  Simon Law <sfllaw@nit.ca>

	* debian/: changelog, libxplc-dev.examples, rules: Add the examples
	directory to libxplc-dev.

2004-10-07 16:53  Simon Law <sfllaw@nit.ca>

	* config/vars.mk: Remove debian/control as part of `make realclean`

2004-10-07 16:38  Simon Law <sfllaw@nit.ca>

	* config/vars.mk: Prevent debian/control from getting cleaned.

2004-10-07 03:17  Simon Law <sfllaw@nit.ca>

	* debian/.cvsignore: Add debian/control to .cvsignore, since it's
	now autogenerated.

2004-10-07 03:17  Simon Law <sfllaw@nit.ca>

	* configure.ac, config/config.mk.in, config/rules.mk: Use
	AC_PROG_LN_S to determine what 'ln -s' is, on the current system.

2004-10-06 23:25  Simon Law <sfllaw@nit.ca>

	* config/rules.mk: Generate debian/control from debian/control.in

2004-10-06 05:45  Pierre Phaneuf <pp@ludusdesign.com>

	* examples/: simple-module/.cvsignore,
	simple-module-user/.cvsignore: Updated some .cvsignore files.

2004-10-06 05:40  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, examples/simple-module/Makefile,
	examples/simple-module/Makefile.in,
	examples/simple-module-user/Makefile,
	examples/simple-module-user/Makefile.in: Improved the examples'
	makefiles to try and use pkgconfig to find XPLC.

2004-10-06 05:39  Pierre Phaneuf <pp@ludusdesign.com>

	* dist/xplc.spec.in: Fixed a small bug where uninstalling the
	xplc-devel RPM package left an empty directory behind.

2004-10-06 04:55  Pierre Phaneuf <pp@ludusdesign.com>

	* dist/xplc.spec.in: Ok, one final fix to the RPM spec and that's
	it.

2004-10-06 04:51  Pierre Phaneuf <pp@ludusdesign.com>

	* dist/xplc.spec.in: Oops, slight mistake in my previous change to
	the RPM spec file.

2004-10-06 04:48  Pierre Phaneuf <pp@ludusdesign.com>

	* dist/xplc.spec.in: Updated for the new parallel installation
	support.

2004-10-06 04:25  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.ac: Updated the version number and the NEWS file.

2004-10-06 04:07  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, config/config.mk.in, config/vars.mk: Some
	finetuning of sfllaw's recent updates to make them to my taste.

2004-10-05 23:16  Simon Law <sfllaw@nit.ca>

	* configure.ac, config/config.mk.in, config/rules.mk: Move the
	cvs2cl test from the config/rules.mk into the configure script.

2004-10-05 22:30  Simon Law <sfllaw@nit.ca>

	* debian/source.lintian-overrides: Suppress spurious warnings about
	source-contains-CVS-dir, because pphaneuf likes to distribute it
	that way.

2004-10-05 22:29  Simon Law <sfllaw@nit.ca>

	* debian/changelog: New Debian changelog message in anticipation of
	XPLC 0.3.10.

2004-10-05 22:28  Simon Law <sfllaw@nit.ca>

	* debian/control, debian/control.in, debian/libxplc-dev.install,
	debian/rules, config/rules.mk: Generate debian/control from
	debian/control.in.
	
	Changed the Debian maintainer to Simon Law <sfllaw@debian.org>. 
	Also added a Section field to xplc's source.
	
	Moved to using versioned package names for Debian, so multiple
	versions of XPLC can be installed in parallel.

2004-10-05 21:53  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, config/config.mk.in, config/rules.mk,
	dist/xplc.pc.in: Fixed a few problems in the parallel installation
	feature.

2004-10-05 21:08  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, config/config.mk.in, config/rules.mk,
	config/vars.mk: Added the capability of installing parallel
	versions of XPLC for the unstable releases.

2004-10-04 23:15  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, config/config.mk.in, config/vars.mk: Improved the
	build system a bit.

2004-10-01 22:28  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS: Updated the NEWS file.

2004-09-30 21:19  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, xplc/loader.cpp, xplc/modulemgr.cpp: Applied patch
	1026089 from sfllaw to build on Darwin/Mac OS X.

2004-09-30 21:08  Pierre Phaneuf <pp@ludusdesign.com>

	* debian/rules: Applied patch 1035929 from sfllaw to put the
	symlink to libxplc.so with the soname in the Debian package (it
	doesn't clean up after itself properly otherwise).

2004-09-27 18:50  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.ac, debian/changelog: Updated files for release
	0.3.9.

2004-09-27 18:43  Pierre Phaneuf <pp@ludusdesign.com>

	* config/cvs-users: Added Simon Law to the cvs-users file.

2004-08-13 20:13  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/delete.h: Including <memory> after delete.h causes
	some problems.

2004-07-20 22:37  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc-cxx/xplc.cpp: Fixed a bug in the XPLC helper class related
	to the module loader refactoring.

2004-07-20 21:31  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.ac, debian/changelog: Updated the version number
	and the NEWS file.

2004-07-20 21:30  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/module.h: Fixed a missing include in module.h.

2004-07-20 21:12  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/modulemgr.cpp: Fixed up spacing in the Win32 part of the
	ModuleManager, and fixed a leak.

2004-07-20 20:48  Stphane Lajoie <dada@ludusdesign.com>

	* VisualC++/xplc.vcproj, xplc/modulemgr.cpp: Fixed Win32 module
	loader.

2004-07-20 14:35  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IModule.h, include/xplc/IModuleLoader.h,
	include/xplc/IModuleManagerFactory.h,
	include/xplc/ISingleModuleLoader.h, include/xplc/core.h,
	tests/test004.cpp, tests/test009.cpp, xplc/moduleloader.cpp,
	xplc/moduleloader.h, xplc/modulemgr.cpp, xplc/modulemgr.h,
	xplc/servmgr.cpp, xplc/singleloader.cpp, xplc/singleloader.h,
	xplc-cxx/xplc.cpp: Refactored the module loading facilities to be
	simpler and share more code.  There is now an IModuleLoader
	interface, which is a factory producing objects implementing the
	IModule interface, which allows using modules. There is now a
	separate IModuleManagerFactory, which allows you to create
	ModuleManager objects, which use components implementing
	IModuleLoader to take care of a directory of modules.

2004-07-20 14:25  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/testobj.cpp: The TestComponent was being incorrectly
	addRef()'d.

2004-07-20 14:22  Pierre Phaneuf <pp@ludusdesign.com>

	* config/libdl.supp: Added a Valgrind supression file for the two
	leaks in dlopen.

2004-07-14 21:50  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IModule.h: Some refactoring is happening around
	IModule.

2004-07-14 21:49  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/module.h: module.h does not need IModule.h.

2004-07-08 16:21  Pierre Phaneuf <pp@ludusdesign.com>

	* examples/: simple-module/Makefile, simple-module-user/Makefile:
	Adding the bare minimum of dependencies in the examples, so that
	you can play around with them easily.

2004-07-01 21:16  Pierre Phaneuf <pp@ludusdesign.com>

	* dist/xplc.spec.in: Fixed the RPM spec file to include the
	examples.

2004-07-01 20:49  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.ac, debian/changelog: Updated the NEWS file and
	the version number.

2004-07-01 20:49  Pierre Phaneuf <pp@ludusdesign.com>

	* examples/simple-module-user/simple.cpp: Added a comment beside
	the XPLC helper object instance.

2004-07-01 20:35  Pierre Phaneuf <pp@ludusdesign.com>

	* examples/: Makefile, simple-module/IExample.h,
	simple-module/Makefile, simple-module/module.cpp,
	simple-module/module.h, simple-module/simple.cpp,
	simple-module/simple.h, simple-module-user/Makefile,
	simple-module-user/simple.cpp: Putting the example code into the
	public domain.

2004-07-01 20:26  Pierre Phaneuf <pp@ludusdesign.com>

	* examples/simple-module/: IExample.h, module.cpp, module.h,
	simple.h: Separated the private stuff in simple.h to module.h.
	Added a few comments to clarify terms used.

2004-07-01 19:43  Pierre Phaneuf <pp@ludusdesign.com>

	* examples/: simple-module/Makefile, simple-module-user/Makefile:
	Don't assume we are in the XPLC package, so that the makefiles can
	be "stolen" more readily.

2004-07-01 19:24  Pierre Phaneuf <pp@ludusdesign.com>

	* examples/Makefile: Since we are inside the XPLC package, pass in
	CPPFLAGS and LDFLAGS to help the examples find the headers and
	libraries.

2004-07-01 07:25  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/: delete.h, module.h, ptr.h, utils.h, uuid.h,
	xplc.h: Added missing Doxygen documentation.

2004-07-01 06:30  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/xplc.h: What do you know: forget to run the unit
	test once, you'll break the build! Fixed a tiny typo.

2004-07-01 06:22  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk, examples/Makefile,
	examples/simple-module/IExample.h, examples/simple-module/Makefile,
	examples/simple-module/module.cpp,
	examples/simple-module/simple.cpp, examples/simple-module/simple.h,
	examples/simple-module-user/.cvsignore,
	examples/simple-module-user/Makefile,
	examples/simple-module-user/simple.cpp: Added a pair of very basic
	examples.

2004-07-01 06:21  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/xplc.h, xplc-cxx/xplc.cpp: Modified the "XPLC"
	helper class to use xplc_ptr and added an addModuleDirectory method
	to do as it says in a single line.

2004-07-01 06:14  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ptr.h: Removed a useless include and added a
	do_addRef function that addRefs a pointer and returns it (useful
	for passing through to the raw pointer constructor of xplc_ptr, to
	avoid making it steal ownership).

2004-06-25 19:01  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk, debian/changelog: Updated the debian changelog
	and put a reminder in "make dist".

2004-06-25 18:42  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS: Updated the NEWS file.

2004-06-25 18:23  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, include/xplc/delete.h, include/xplc/factory.h,
	include/xplc/ptr.h, include/xplc/trace.h, include/xplc/utils.h,
	include/xplc/uuid.h, include/xplc/uuidops.h, include/xplc/xplc.h,
	tests/test.h, xplc/catmgr.cpp, xplc/moduleloader.cpp,
	xplc/statichandler.cpp, xplc-cxx/factory.cpp,
	xplc-cxx/getiface.cpp, xplc-cxx/strtouuid.cpp,
	xplc-cxx/uuidtostr.cpp, xplc-cxx/xplc.cpp: Made the license change
	(added a "runtime exception" on the C++ binding files) and updated
	the version number.

2004-06-25 12:04  Stphane Lajoie <dada@ludusdesign.com>

	* VisualC++/xplc-cxx.vcproj: Added missing include path.

2004-06-24 18:06  Stphane Lajoie <dada@ludusdesign.com>

	* VisualC++/: testobj.vcproj, tests.vcproj, xplc-cxx.vcproj,
	xplc.def, xplc.sln, xplc.vcproj: Build the C++ bindings in a
	separate static library and build the main xplc project as a dll
	that exports only "XPLC_getServiceManager", just like in the Unix
	version.

2004-06-15 21:17  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/: delete.h, ptr.h: Fixed delete detector and
	xplc_ptr bad interaction. Make sure operator delete is already
	declared before redefining it. Made it an error to include
	IObject.h before delete.h to make sure we do not miss any "delete".
	Added a "deletev" macro to do "delete[]" (argh, this sucks!).

2004-06-13 22:16  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h: Including core.h from utils.h to make gcc
	3.4 happy.

2004-06-13 21:57  Pierre Phaneuf <pp@ludusdesign.com>

	* config/vars.mk: Removed the -pedantic flag from the CXXFLAGS
	variable.

2004-05-21 20:27  Pierre Phaneuf <pp@ludusdesign.com>

	* debian/changelog: Updated the Debian changelog.

2004-05-21 20:24  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.ac: Updated the version number and the NEWS file.

2004-05-21 20:22  Pierre Phaneuf <pp@ludusdesign.com>

	* dist/README.in: Updated the README file template.

2004-05-21 20:21  Pierre Phaneuf <pp@ludusdesign.com>

	* .cvsignore, Makefile, xplc/rules.mk: Fixed a few details in the
	pkg-config support. The .pc files were not getting cleaned, and we
	now put a copy of xplc-uninstalled.pc in the top-level directory to
	make it easier to use.

2004-05-21 19:48  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/moduleloader.cpp: Reverted an accidental checkin.

2004-05-21 19:46  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/moduleloader.cpp: ifdef'd out an incomplete new feature.

2004-05-21 19:41  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ptr.h, tests/test011.cpp, xplc-cxx/xplc.cpp: Made
	the new xplc_ptr implementation the real one.

2004-05-19 22:56  Stphane Lajoie <dada@ludusdesign.com>

	* VisualC++/: tests.vcproj, xplc.vcproj: Added category stuff to
	project files.

2004-05-19 13:12  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test011.cpp: Some work on the prototype xplc_ptr. ALL
	assignations (through the constructor or operator=) will addRef(),
	EXCEPT for the raw pointer constructor. Added a templated
	constructor to "notice" when we get passed another xplc_ptr.
	Constified the two accessor methods. Added a few things to the test
	and corrected others appropriately for the other changes.

2004-05-13 16:23  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/: test.h, test011.cpp, testmain.cpp: Added some tests for a
	rewrite of xplc_ptr (which is currently put in the test itself).

2004-05-13 16:18  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc-cxx/xplc.cpp: Modified some uses of xplc_ptr to use the
	explicit constructor form instead of the zero-initialization
	followed by assignment.

2004-04-23 19:58  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS: Updated the NEWS file.

2004-04-23 19:56  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ICategoryIterator.h, tests/test010.cpp,
	xplc/category.cpp, xplc/category.h, xplc/catiter.cpp,
	xplc/catiter.h, xplc/catmgr.cpp: Mostly finished implementing
	component categories.

2004-04-23 19:56  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ICategory.h: Removed the derivation of ICategory
	from IFactory, since there is no test for this feature yet.

2004-04-23 08:36  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ICategory.h, include/xplc/ICategoryEntry.h,
	include/xplc/ICategoryIterator.h, tests/test010.cpp,
	xplc/category.cpp, xplc/category.h: Replaced the ICategoryEntry
	interface with an ICategoryIterator.

2004-04-22 02:08  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test010.cpp, xplc/catmgr.cpp: Working a bit on the
	categories.

2004-04-08 19:06  Pierre Phaneuf <pp@ludusdesign.com>

	* CREDITS: I had forgotten to add Avery to the CREDITS file (he
	added a whole lot of Doxygen documentation).

2004-04-08 13:23  Pierre Phaneuf <pp@ludusdesign.com>

	* debian/: copyright, libxplc-dev.install: Updated the copyright
	years and added the pkg-config file to the Debian package.

2004-04-08 01:05  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.ac, config/rules.mk, dist/xplc.spec.in: Add the
	pkg-config file to the autoconf and packaging.

2004-04-08 01:04  Pierre Phaneuf <pp@ludusdesign.com>

	* dist/: .cvsignore, xplc-uninstalled.pc.in, xplc.pc.in: Completed
	the pkg-config support.

2004-04-07 18:53  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.ac, debian/changelog: Updated the NEWS file and
	the version numbers for release 0.3.4.

2004-04-07 16:51  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/delete.h: Added an "illegal delete detector".
	Include this right after IObject.h or in its place.

2004-04-07 16:49  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, tests/test.h, tests/test002.cpp,
	tests/test003.cpp, tests/test006.cpp: Added an "xplcdelete" macro
	to use in place of "delete" to indicate that you know what you are
	doing (with regard to deleting an object deriving from IObject),
	since you are normally supposed to use only IObject::release().

2004-04-07 16:48  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test005.cpp: Removed a useless implementation of operator
	delete in test005.

2004-04-07 16:47  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test010.cpp: Clean up a few unused variables in test010.

2004-04-07 16:43  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: moduleloader.h, monikers.h, new.h, servmgr.h,
	singleloader.h: Changed the access of a few destructors to allow
	the "illegal delete detector" to work.

2004-03-31 22:15  Pierre Phaneuf <pp@ludusdesign.com>

	* dist/xplc.pc.in: Added a first cut at a pkg-config file for XPLC.

2004-03-31 22:14  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, xplc-cxx/xplc.cpp: Remove IFactory.h from
	utils.

2004-03-24 15:09  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, include/.cvsignore, include/config.h,
	include/xplc/.cvsignore, include/xplc/config.h, tests/test004.cpp,
	tests/test009.cpp, xplc/loader.cpp, xplc/moduleloader.cpp: Moved
	away the config.h/autoconf.h headers from the public headers, we do
	not want this information leaked to the outside. Some common
	autoconf macros also have a tendency to clash between packages.

2004-03-20 19:51  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, debian/changelog: Updated the version number and
	the Debian changelog for 0.3.3.

2004-03-20 18:10  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS: Updated the NEWS file for 0.3.3.

2004-03-20 18:04  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/rules.mk: Have "make tests" do the full equivalent of
	"make" before running the tests.

2004-03-18 17:59  Stphane Lajoie <dada@ludusdesign.com>

	* VisualC++/: testobj.vcproj, tests.vcproj, xplc.vcproj: Disabled
	the stupid performance warning when building on Win32.

2004-03-17 21:38  Stphane Lajoie <dada@ludusdesign.com>

	* xplc/moduleloader.cpp: Removed unused variables.

2004-03-17 21:30  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ptr.h, include/xplc/utils.h, include/xplc/uuid.h,
	tests/test.h, tests/test005.cpp: Renamed the IID<> template to
	XPLC_IID<>.

2004-03-17 21:27  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: moduleloader.cpp, moduleloader.h: Forgot to update the
	copyrights.

2004-03-17 21:22  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: moduleloader.cpp, moduleloader.h: Refactored the common
	platform-independent code out of the platform-dependent
	ModuleLoader::setModuleDirectory method.

2004-03-17 15:38  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/loader.cpp: Corrected a typo, thanks to slajoie.

2004-03-17 15:09  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/uuid.h: Forgot to credit slajoie and attribute
	copyrights for the previous change.

2004-03-17 15:05  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/uuid.h: Made the UUID equality and inequality C++
	operators compatible with those used in Win32.

2004-03-17 14:45  Pierre Phaneuf <pp@ludusdesign.com>

	* VisualC++/: testobj.vcproj, tests.vcproj, xplc.sln, xplc.vcproj:
	Update to the Visual C++ project files, from slajoie.

2004-02-07 00:10  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/module.h, tests/testobj.cpp, xplc/moduleloader.cpp,
	xplc/moduleloader.h, xplc/singleloader.cpp, xplc/singleloader.h:
	Changed the module loader some more...

2004-01-30 22:59  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: loader.cpp, loader.h: Changed loaderClose to take a void*&
	instead of a void* and set the pointer to NULL for you.

2004-01-30 15:38  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IGenericFactory.h, xplc/factory.cpp, xplc/factory.h:
	These files mysteriously reappeared after some SourceForge CVS
	manipulations.

2004-01-13 07:03  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk: Fixed some more dependencies.

2004-01-13 06:58  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk: Fixed a dependency problem and made the "make
	dist" target automatically update the CVS files.

2004-01-13 06:50  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/module.h: Added a note for future developments.

2004-01-13 06:49  Pierre Phaneuf <pp@ludusdesign.com>

	* debian/: .cvsignore, changelog: Updated the version number for
	the Debian package.

2004-01-09 07:18  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.ac: Updated the NEWS file and the version number.

2004-01-09 07:18  Pierre Phaneuf <pp@ludusdesign.com>

	* config/: rules.mk, vars.mk: Fixed a few details in the build
	system.

2004-01-08 16:10  Pierre Phaneuf <pp@ludusdesign.com>

	* .cvsignore, Makefile, config/config.mk.in, config/rules.mk,
	config/vars.mk: Improved the "make dist" target to actually produce
	a ready-to-upload tarball.

2004-01-05 18:49  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h: Added a bit of documentation to WeakRef.

2004-01-04 14:55  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, xplc-cxx/getiface.cpp: Shortened the name
	of IObjectImplementationInternal to IObjectImplInternal, moved
	XPLC_getInterface_real to IObjectImplInternal::getInterface.

2004-01-04 14:45  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, tests/test005.cpp: Fixed a bug in
	IMPLEMENT_IOBJECT where the weak reference itself wouldn't get
	released. Improved the unit test to cover this bug.

2003-12-31 18:44  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IObject.h, include/xplc/factory.h,
	include/xplc/utils.h, tests/test001.cpp, tests/test002.cpp,
	tests/test005.cpp, tests/testobj.cpp, xplc/category.h,
	xplc/catmgr.h, xplc/moduleloader.h, xplc/monikers.h, xplc/new.h,
	xplc/servmgr.cpp, xplc/servmgr.h, xplc/singleloader.h,
	xplc/statichandler.h, xplc-cxx/factory.cpp: Replaced
	GenericComponent with the IMPLEMENT_IOBJECT macro, which more
	easily allow having non-default constructors and has a smaller
	footprint. Adapted test suite accordingly. Made the starting
	reference count of an IMPLEMENT_IOBJECT-using object 1 rather than
	0, as it simplified use and reduced footprint.

2003-12-27 20:42  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/factory.h: Documented the generic factory.

2003-12-22 23:19  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/factory.h, tests/test003.cpp, xplc/servmgr.cpp,
	xplc-cxx/factory.cpp: Moved the generic factory to the C++ binding,
	for two reasons: I'm afraid function pointers can't fly in XPLC
	interfaces, and they're easier to use this way.

2003-12-22 22:54  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/module.h: Clarified and better documented
	<xplc/module.h>.

2003-12-22 22:46  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/module.h: Added some missing Doxygen documentation.

2003-12-22 22:43  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/xplc.h: Added two accessor methods to the XPLC
	object.

2003-12-22 22:19  Pierre Phaneuf <pp@ludusdesign.com>

	* config/exports.map, include/xplc/module.h, tests/testobj.cpp,
	xplc/moduleloader.cpp, xplc/moduleloader.h, xplc/singleloader.cpp:
	Started changing the module system to a more data-driven
	architecture.

2003-12-22 21:23  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test005.cpp, xplc/servmgr.cpp: Fixed spacing in a few
	spots.

2003-12-22 21:21  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, tests/test.h, tests/test001.cpp,
	tests/test002.cpp, tests/test003.cpp, tests/test005.cpp,
	tests/test006.cpp, tests/test008.cpp, tests/testobj.cpp,
	xplc/servmgr.cpp: Make every object initialize their refcount at 1
	instead of zero, getting rid of an always necessary follow-up
	addRef().

2003-12-20 04:38  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/uuid.h: Clarified some UUID-related documentation.

2003-12-20 03:37  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, include/xplc/uuid.h, tests/test.h, tests/test001.cpp,
	tests/test007.cpp, tests/testobj.cpp, xplc/catmgr.cpp,
	xplc/statichandler.cpp, xplc-cxx/getiface.cpp,
	xplc-cxx/strtouuid.cpp, xplc-cxx/uuidtostr.cpp: Made the UUID
	structure compatible with the one in Windows. Updated the NEWS
	file.

2003-12-12 21:28  Pierre Phaneuf <pp@ludusdesign.com>

	* config/vars.mk: Fixed the clean target to clean up Debian stuff
	correctly.

2003-12-12 21:20  Pierre Phaneuf <pp@ludusdesign.com>

	* debian/: changelog, control: Made the libxplc-dev Debian package
	depend on the libxplc package.

2003-12-12 20:45  Pierre Phaneuf <pp@ludusdesign.com>

	* debian/changelog: Updated the Debian changelog.

2003-12-12 20:31  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, config/vars.mk: Updated the version number.

2003-12-12 20:11  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, config/vars.mk: Updated the NEWS file, added "dist" to the
	simple targets, "make clean" did not remove libxplc.so.

2003-12-06 01:04  Pierre Phaneuf <pp@ludusdesign.com>

	* Doxyfile, include/xplc/ICategory.h,
	include/xplc/ICategoryEntry.h, include/xplc/ICategoryManager.h,
	include/xplc/IFactory.h, include/xplc/IModule.h,
	include/xplc/IModuleLoader.h, include/xplc/IMoniker.h,
	include/xplc/IMonikerService.h, include/xplc/IObject.h,
	include/xplc/IServiceHandler.h, include/xplc/IServiceManager.h,
	include/xplc/ISingleModuleLoader.h,
	include/xplc/IStaticServiceHandler.h, include/xplc/IWeakRef.h,
	include/xplc/ptr.h, include/xplc/utils.h, include/xplc/uuid.h,
	include/xplc/xplc.h: Extended the documentation further.

2003-12-05 20:08  Pierre Phaneuf <pp@ludusdesign.com>

	* Doxyfile, include/xplc/utils.h, include/xplc/xplc.h: Expanded the
	documentation a bit.

2003-12-05 05:07  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/: IMoniker.h, IMonikerService.h, IObject.h,
	IServiceHandler.h, IServiceManager.h, uuid.h: Checking in some
	documentation contributed by Avery Pennarun <apenwarr@nit.ca>, as
	well as some of my own additions and editions.

2003-12-02 02:10  Pierre Phaneuf <pp@ludusdesign.com>

	* Doxyfile: Improved the doxygen settings.

2003-11-28 23:30  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: category.cpp, category.h, categorynode.h, catmgr.cpp,
	catmgr.h: Started fleshing out categories.

2003-11-28 21:30  Pierre Phaneuf <pp@ludusdesign.com>

	* config/vars.mk: Use "-z defs" when linking libraries, safeguards
	against forgetting symbols.

2003-11-15 05:34  Pierre Phaneuf <pp@ludusdesign.com>

	* .cvsignore, Doxyfile, config/rules.mk, config/vars.mk: Added a
	very basic "make doxygen" target.

2003-11-15 05:19  Pierre Phaneuf <pp@ludusdesign.com>

	* TODO: Updated the TODO file.

2003-11-14 23:33  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ICategory.h, include/xplc/ICategoryEntry.h,
	include/xplc/ICategoryManager.h, tests/test010.cpp: Improved the
	categories unit test, along with the corresponding interfaces.	It
	is still disabled, as none of it is implemented.

2003-11-14 21:26  Pierre Phaneuf <pp@ludusdesign.com>

	* CREDITS, NEWS, TODO, debian/.cvsignore, debian/changelog,
	debian/control, debian/copyright, debian/libxplc-dev.install,
	debian/libxplc.install, debian/rules: Added Debian packaging
	scripts, contributed by James Morrison <phython@debian.org>, as
	well as updated the CREDITS, NEWS and TODO files accordingly.

2003-11-14 21:25  Pierre Phaneuf <pp@ludusdesign.com>

	* config.guess, config.sub: Updated autoconf files.

2003-10-21 18:59  Pierre Phaneuf <pp@ludusdesign.com>

	* config/vars.mk: Apparently it is better on some platforms (SPARC,
	for example) to use -fpic rather than -fPIC. On some platforms
	(like x86), there is no difference between the two, but on most
	RISC platforms, -fpic is more optimal but has a platform specific
	limit on the number of relocations, where you have to switch to the
	less efficient -fPIC when you hit the limit (the linker tells you).
	So let's use -fpic rather than -fPIC and see if anything breaks.

2003-10-19 07:45  Pierre Phaneuf <pp@ludusdesign.com>

	* TODO, dist/README.in, dist/xplc.spec.in: Clarified the TODO and
	the README file, corrected a few typos, updated the changelog
	section of the RPM spec file.

2003-10-19 07:06  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS: Updated the NEWS file.

2003-10-19 06:06  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/uuid.h, tests/test007.cpp, xplc-cxx/strtouuid.cpp:
	Removed UUID::null and made a static UUID_null instead. It was
	pulling in too much weight along.

2003-10-19 05:58  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk: Added a rule to generate assembly output, for
	examination purposes.

2003-10-19 05:28  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, xplc/catmgr.cpp, xplc/catmgr.h,
	xplc/factory.cpp, xplc/factory.h, xplc/moduleloader.cpp,
	xplc/moduleloader.h, xplc/monikers.cpp, xplc/monikers.h,
	xplc/new.cpp, xplc/new.h, xplc/servmgr.cpp, xplc/singleloader.cpp,
	xplc/singleloader.h, xplc/statichandler.cpp, xplc/statichandler.h:
	Removed all the "create" static methods and unified them in the
	GenericComponent template. Did some more cleaning in
	xplc/servmgr.cpp, some more size reduction.

2003-10-19 05:19  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/: test002.cpp, test003.cpp: Some modifications to keep
	tests in good shape.

2003-10-19 02:14  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: servmgr.cpp, servmgr.h: Cutting out more code, still doing
	the same thing.

2003-10-18 23:23  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/servmgr.cpp: Moving a small bit of code around made it both
	easier to read and compile to a smaller size.

2003-10-04 05:53  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ICategoryManager.h, tests/test010.cpp,
	xplc/catmgr.cpp, xplc/catmgr.h: A bit more category manager work
	done.

2003-10-04 05:25  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test010.cpp: Fixed a warning in test010.

2003-10-04 05:05  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc-cxx/: getiface.cpp, xplc.cpp: Saved almost 2K from
	libxplc.so by moving WeakRef::uuids from xplc.cpp to getiface.cpp.
	Why?  It was pulling in members of the XPLC helper class that is
	not even used in libxplc.so. WeakRef goes mostly hand-in-hand with
	the generic getInterface implementation, so this makes more sense
	anyway.

2003-10-04 04:57  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test010.cpp, xplc/catmgr.cpp, xplc/catmgr.h,
	xplc/servmgr.cpp: Started the category manager.

2003-10-04 04:55  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test009.cpp: A bad refcount isn't fatal, VERIFY instead of
	ASSERT.

2003-07-26 19:46  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test.h: Corrected an assert message in the test classes.

2003-07-25 18:21  Pierre Phaneuf <pp@ludusdesign.com>

	* TODO, config/exports.map, config/vars.mk, xplc/rules.mk: Restrict
	exported symbols to the bare minimum (XPLC_getServiceManager for
	libxplc.so and XPLC_GetModule for modules). libxplc.so size went
	from 28K to 20K and testobj.dll went from 11K to 7.3K. Also fixed
	the requirements of libxplc.so to link against libxplc-cxx.a, which
	it didn't before to avoid accidentally providing symbols from
	libxplc-cxx.a to libxplc.so users, but now that we have this linker
	script, this cannot happen. This also mean that the actual text
	segment size of libxplc.so *increased*, even though the total size
	decreased by 8K.

2003-07-25 17:55  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/: test.h, test010.cpp, testmain.cpp: Reserved a test for
	categories. We've gotta have that soon...

2003-06-28 20:43  Pierre Phaneuf <pp@ludusdesign.com>

	* TODO: Added a TODO file, so that those unlucky people that don't
	have access to my Palm can see what's coming too. :-)

2003-03-17 04:36  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/core.h: Added a CID for the category manager.

2003-03-17 03:48  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc-cxx/strtouuid.cpp: Eek! C-style casts!

2003-03-16 23:28  Stphane Lajoie <dada@ludusdesign.com>

	* include/xplc/config.h, include/xplc/uuid.h,
	xplc-cxx/strtouuid.cpp: Fixed warnings.

2003-03-16 22:42  Stphane Lajoie <dada@ludusdesign.com>

	* VisualC++/: testobj.vcproj, tests.vcproj, xplc.dsp, xplc.sln,
	xplc.vcproj: Removed outdated xplc.dsp.  Fixed VS.NET files to
	compensate for silly move in VisualC++ subdirectory. These will not
	be updated anymore.

2003-03-15 23:27  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac: Updated the version number.

2003-03-15 23:22  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, include/xplc/xplc.h, xplc-cxx/xplc.cpp: Updated the NEWS
	file, added a method to the XPLC class to create an object directly
	from a moniker.

2003-02-18 05:14  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS: Added the new weak references feature.

2003-02-18 05:12  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IObject.h, include/xplc/IWeakRef.h,
	include/xplc/utils.h, tests/test.h, tests/test005.cpp,
	xplc-cxx/xplc.cpp: Added weak references to IObject, along with the
	corresponding implementation in GenericComponent and updated tests.

2003-01-17 03:48  Pierre Phaneuf <pp@ludusdesign.com>

	* dist/xplc.spec.in: Small permission fix to the RPM spec file.

2003-01-11 06:33  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.ac: Preparing for release 0.1.7.

2002-12-13 17:45  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/core.h, include/xplc/utils.h, include/xplc/xplc.h,
	tests/test.h, tests/test000.cpp, tests/test001.cpp,
	tests/test002.cpp, tests/test003.cpp, tests/test004.cpp,
	tests/test005.cpp, tests/test006.cpp, tests/test008.cpp,
	tests/test009.cpp, xplc/factory.cpp, xplc/moduleloader.cpp,
	xplc/monikers.cpp, xplc/new.cpp, xplc/servmgr.cpp, xplc/servmgr.h,
	xplc/singleloader.cpp, xplc/xplc.cpp, xplc-cxx/xplc.cpp: Fixed up
	header files, moved things around a bit, added a working XPLC
	helper class.

2002-12-11 16:07  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ptr.h: Had forgot to update xplc_ptr for the new way
	of getting IIDs (NIT).

2002-12-11 15:54  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/rules.mk, xplc-cxx/rules.mk: Don't put the content of
	xplc-cxx in libxplc.so (NIT).

2002-12-11 15:49  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/: ICategory.h, ICategoryManager.h: Added preliminary
	ICategory and ICategoryManager interfaces (NIT).

2002-12-11 05:35  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IFactory.h, include/xplc/IGenericFactory.h,
	include/xplc/IModule.h, include/xplc/IModuleLoader.h,
	include/xplc/IMoniker.h, include/xplc/IMonikerService.h,
	include/xplc/IObject.h, include/xplc/IServiceHandler.h,
	include/xplc/IServiceManager.h, include/xplc/ISingleModuleLoader.h,
	include/xplc/IStaticServiceHandler.h, include/xplc/utils.h,
	include/xplc/uuid.h, tests/test.h, tests/test005.cpp,
	tests/testmain.cpp, tests/testobj.h: Managed to pull off making the
	IID definition the smallest and fastest possible, without
	compromising ease of use! Whew! It still has some cases where it
	isn't *perfectly* optimal, but short of writing assembler or
	starting to assume things about object layouts, that's pretty much
	it (the code is theoretically optimizable, it's just that my
	compiler doesn't push it to the end).

2002-12-09 22:49  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/moduleloader.cpp: Fixed a small bug in the Windows version,
	thanks to Sbastien 'Jester' Derivaux for the catch.

2002-12-05 17:37  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, config/config.mk.in, config/vars.mk: Added a
	configure switch to disable position-independent code generation
	(PIC allows for more sharing between processes, but is almost 20%
	bigger too, so lets give the choice to the users).

2002-12-05 08:23  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac: AC_SEARCH_LIBS doesn't like having no library to
	search.

2002-12-05 08:19  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, config/config.mk.in, config/rules.mk,
	config/vars.mk, xplc/loader.cpp: Added linking of shared objects on
	Darwin/Mac OS X, and started implementing dynamic loading of shared
	objects for same.

2002-12-05 07:16  Pierre Phaneuf <pp@ludusdesign.com>

	* config/: rules.mk, vars.mk: Compiling with -fPIC is required on
	Solaris for building shared objects, and setting the soname with
	-soname is not supported (but the -h option is, so we set the
	soname with that instead).

2002-12-05 03:48  Pierre Phaneuf <pp@ludusdesign.com>

	* config/vars.mk, xplc/vars.mk: Fixed a small buglet in the linking
	with -ldl, and enable -Wc-style-cast only when --enable-warnings
	was specified (on some platforms, header files have C-style casts,
	and that's pretty annoying and not our fault).

2002-12-05 03:23  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac: Oops, very small mistake in the help of
	configure.ac.

2002-12-05 03:20  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, config/config.mk.in, include/xplc/config.h,
	tests/rules.mk, tests/test004.cpp, tests/test009.cpp,
	xplc/loader.cpp, xplc/vars.mk: Improved the tests for dynamic
	loading facilities, made libxplc.so link with -ldl (if necessary)
	again, fixed up some things in configure.ac.

2002-12-03 17:27  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IFactory.h, include/xplc/IGenericFactory.h,
	include/xplc/IModule.h, include/xplc/IModuleLoader.h,
	include/xplc/IMoniker.h, include/xplc/IMonikerService.h,
	include/xplc/IObject.h, include/xplc/IServiceHandler.h,
	include/xplc/IServiceManager.h, include/xplc/ISingleModuleLoader.h,
	include/xplc/IStaticServiceHandler.h, include/xplc/utils.h,
	include/xplc/uuid.h, include/xplc/xplc.h, tests/test.h,
	tests/test004.cpp, tests/test005.cpp, tests/test006.cpp,
	tests/test008.cpp, tests/test009.cpp, xplc/new.cpp, xplc/xplc.cpp:
	Changed the method used for defining IIDs. This one is a little
	more bloaty, but is safer, easier to use, and doesn't use any
	non-standard attributes.

2002-12-03 17:25  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS: Updated the NEWS file for the next release.

2002-11-30 10:56  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk, dist/xplc.spec.in: Fixed the install rule and
	the RPM spec file for the new libxplc-cxx.a.

2002-11-30 10:48  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.ac: Preparing for release 0.1.6.

2002-11-30 10:28  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test005.cpp: Seems gcc3 does access protection of parent
	classes properly, and I didn't.

2002-11-30 10:27  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/moduleloader.cpp: Added yet another missing header.

2002-11-30 10:23  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk: Attempting to fix dependencies generation for
	gcc3.

2002-11-30 09:15  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac: Fixed a buglet in configure.ac: while the "test"
	built-in of bash seems to accept == as a valid operator, the real
	sh on Solaris doesn't.

2002-11-30 08:12  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, tests/rules.mk, tests/testobj.cpp: Removed
	the GenericComponentInline template.

2002-11-30 07:57  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/uuid.h, xplc/helper.cpp, xplc-cxx/.cvsignore,
	xplc-cxx/getiface.cpp, xplc-cxx/rules.mk, xplc-cxx/strtouuid.cpp,
	xplc-cxx/uuidtostr.cpp: Moved the toString and fromString methods
	of UUID to separate compilation units in the C++ bindings. Even
	though it inflated libxplc.so slightly, in actual use it comes down
	smaller.

2002-11-30 07:53  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: moduleloader.cpp, monikernode.h: Fixed other missing
	headers.

2002-11-30 07:53  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test007.cpp: Fixed a missing header.

2002-11-30 04:51  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, tests/test001.cpp, tests/test005.cpp,
	xplc/factory.cpp, xplc/moduleloader.cpp, xplc/monikers.cpp,
	xplc/new.cpp, xplc/servmgr.cpp, xplc/singleloader.cpp,
	xplc/statichandler.cpp: Automated the generation of the
	GenericComponent supported interfaces map.

2002-11-30 02:57  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/uuid.h: Replaced an if that masked an error silently
	by an assert that will complain louder.

2002-11-29 14:43  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/uuid.h: Removed a useless "inline" modifier and
	added a comment to clarify toString requirements.

2002-11-26 06:13  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/uuid.h: Shave the whales! And footprint too!

2002-11-26 05:49  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, include/xplc/xplc.h, tests/test000.cpp,
	tests/test001.cpp, tests/test004.cpp, tests/test006.cpp,
	tests/test008.cpp, tests/test009.cpp, xplc/factory.cpp,
	xplc/moduleloader.cpp, xplc/monikers.cpp, xplc/new.cpp,
	xplc/servmgr.cpp, xplc/servmgr.h, xplc/singleloader.cpp,
	xplc/xplc.cpp: Ok, that "splitting XPLC" idea wasn't so great after
	all. Recombining them helps reduce the size a good deal. I'm also
	starting fleshing out nice C++ bindings.

2002-11-26 02:40  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/rules.mk, xplc/rules.mk: Recombined libxplc-core into
	libxplc. Seeing the 5k shared object is nice, but the total size is
	much worse, so we'll make that a separate configure option in the
	future.

2002-11-23 20:00  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk, config/vars.mk, include/xplc/core.h,
	tests/rules.mk, xplc/rules.mk, xplc/servmgr.cpp, xplc/servmgr.h,
	xplc/xplc.cpp: Split the XPLC core into libxplc-core.

2002-11-22 23:03  Pierre Phaneuf <pp@ludusdesign.com>

	* Makefile, config/config.mk.in, config/rules.mk, config/vars.mk,
	tests/rules.mk, tests/vars.mk, xplc/rules.mk, xplc/vars.mk:
	Makefile clean ups that I have been wanting to do for a while
	(NIT).

2002-11-21 16:54  Pierre Phaneuf <pp@ludusdesign.com>

	* Makefile, configure.ac, configure.in, config/config.mk.in,
	config/rules.mk, config/vars.mk, config/version.mk, xplc/rules.mk,
	xplc/vars.mk: Completed changeover to Autoconf 2.5x.

2002-11-21 16:39  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/uuid.h: Added an identity check to short-circuit
	UUID::equals.

2002-11-21 08:09  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk: Cleaner way of working around the "rm" problem
	on Darwin/Mac OS X.

2002-11-21 07:44  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac: Corrected dlopen test.

2002-11-21 07:11  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/config.h: Corrected another slight mistake.

2002-11-21 07:08  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/loader.cpp: Corrected a slight mistake.

2002-11-21 07:02  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, include/xplc/config.h, tests/test004.cpp,
	tests/test009.cpp, xplc/loader.cpp, xplc/loader.h: Added support
	for building without dynamic loading support.

2002-11-21 06:41  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac, config/config.mk.in, config/vars.mk,
	tests/rules.mk, xplc/rules.mk: Added back test for dlopen.

2002-11-21 06:11  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.ac: Switching to Autoconf 2.5x.

2002-11-21 05:33  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk: Made the makefile work with Mac OS X's "rm"
	command (it doesn't like having nothing to do).

2002-11-21 04:56  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/config.h: Simple fix for avoiding the need for
	defining UNSTABLE on Windows.

2002-11-20 14:54  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc.dsp, xplc.sln, xplc.vcproj, VisualC++/testobj.vcproj,
	VisualC++/tests.vcproj, VisualC++/xplc.dsp, VisualC++/xplc.sln,
	VisualC++/xplc.vcproj, tests/testobj.vcproj, tests/tests.vcproj:
	Moved the Microsoft Visual Studio into a VisualC++ directory.

2002-11-18 14:27  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/uuid.h: Removed extraneous semicolon.

2002-11-18 07:29  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS: Updating the NEWS file.

2002-11-18 07:10  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IServiceHandler.h, tests/test000.cpp,
	tests/test001.cpp, tests/test004.cpp, tests/test006.cpp,
	tests/test008.cpp, tests/test009.cpp, tests/testobj.cpp,
	xplc/handlernode.h, xplc/loader.cpp, xplc/moduleloader.cpp,
	xplc/moduleloader.h, xplc/new.cpp, xplc/new.h, xplc/servmgr.cpp,
	xplc/servmgr.h, xplc/singleloader.cpp, xplc/singleloader.h,
	xplc/statichandler.cpp, xplc/statichandler.h, xplc/xplc.cpp: Got
	rid of IServiceHandler::shutdown, fixed all the leaks that valgrind
	could find, save for one that seems to be in my dlopen
	implementation.

2002-11-18 07:05  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test003.cpp: Another leak in the test suite! Another one is
	coming, but has other issues, so it is in a separate commit.

2002-11-18 07:04  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test002.cpp: Fixed a leak in the test suite, related to the
	previous commit.

2002-11-18 07:03  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test.h: Fixed a leak in the test suite.

2002-11-18 07:02  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ptr.h: More experimentations with xplc_ptr.

2002-11-18 04:52  Pierre Phaneuf <pp@ludusdesign.com>

	* Makefile, configure.in, config/config.mk.in, config/rules.mk,
	config/vars.mk, config/version.mk, include/xplc/IFactory.h,
	include/xplc/IGenericFactory.h, include/xplc/IModule.h,
	include/xplc/IModuleLoader.h, include/xplc/IMoniker.h,
	include/xplc/IMonikerService.h, include/xplc/IObject.h,
	include/xplc/IServiceHandler.h, include/xplc/IServiceManager.h,
	include/xplc/ISingleModuleLoader.h,
	include/xplc/IStaticServiceHandler.h, include/xplc/config.h,
	include/xplc/module.h, include/xplc/ptr.h, include/xplc/trace.h,
	include/xplc/utils.h, include/xplc/uuid.h, include/xplc/xplc.h,
	tests/rules.mk, tests/test.h, tests/test000.cpp, tests/test001.cpp,
	tests/test002.cpp, tests/test003.cpp, tests/test004.cpp,
	tests/test005.cpp, tests/test006.cpp, tests/test007.cpp,
	tests/test008.cpp, tests/test009.cpp, tests/testmain.cpp,
	tests/testobj.cpp, tests/testobj.h, tests/vars.mk,
	xplc/factory.cpp, xplc/factory.h, xplc/handlernode.h,
	xplc/helper.cpp, xplc/loader.cpp, xplc/loader.h,
	xplc/moduleloader.cpp, xplc/moduleloader.h, xplc/monikernode.h,
	xplc/monikers.cpp, xplc/monikers.h, xplc/new.cpp, xplc/new.h,
	xplc/objectnode.h, xplc/rules.mk, xplc/servmgr.cpp, xplc/servmgr.h,
	xplc/singleloader.cpp, xplc/singleloader.h, xplc/statichandler.cpp,
	xplc/statichandler.h, xplc/vars.mk, xplc/xplc.cpp: Updated the
	license notice (they were referring to the Library General Public
	License, we are using the Lesser General Public License).

2002-11-18 04:31  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test007.cpp, xplc/moduleloader.cpp: Fixed uses of snprintf
	on WIN32.

2002-10-31 06:13  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ptr.h: Added an experimental smart pointer class.

2002-10-28 23:37  Pierre Phaneuf <pp@ludusdesign.com>

	* uuid2cdef.pl: Added a Perl script to convert the output of
	'uuidgen' to a C definition.

2002-10-27 08:02  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h: Added a "create" templated function to do a
	lot of things quickly.

2002-10-27 07:33  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, tests/test001.cpp, tests/testobj.cpp,
	xplc/factory.cpp, xplc/factory.h, xplc/moduleloader.cpp,
	xplc/moduleloader.h, xplc/monikers.cpp, xplc/monikers.h,
	xplc/new.cpp, xplc/new.h, xplc/servmgr.cpp, xplc/servmgr.h,
	xplc/singleloader.cpp, xplc/singleloader.h, xplc/statichandler.cpp,
	xplc/statichandler.h: Added a GenericComponentInline that is
	identical to GenericComponent, but doesn't need any symbol from
	libxplc. Converted all users of GenericComponentOld and removed it.

2002-10-27 07:11  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, tests/test005.cpp, xplc/helper.cpp: Here is
	the GenericComponent with the automated getInterface method. It
	still needs some polishing, but it passes the tests.

2002-10-26 10:57  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, tests/test001.cpp, tests/test005.cpp,
	tests/testobj.cpp, xplc/factory.cpp, xplc/moduleloader.cpp,
	xplc/monikers.cpp, xplc/new.cpp, xplc/servmgr.cpp,
	xplc/singleloader.cpp, xplc/statichandler.cpp: Renamed
	GenericComponent to GenericComponentOld, to warn of its
	deprecation.

2002-10-26 10:56  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk: Linking with g++ makes smaller binaries than
	using cc.

2002-10-18 22:32  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk, config/vars.mk, tests/.cvsignore,
	xplc/.cvsignore: Improved the automatic dependencies so that they
	are made as the sources are compiled, and they are updated every
	time a file is re-compiled. Also fixed the "distclean" and
	"realclean" targets (that weren't removing include/xplc/autoconf.h
	and include/xplc/autoconf.h.in, respectively).

2002-09-27 21:22  Pierre Phaneuf <pp@ludusdesign.com>

	* dist/xplc.spec.in: A few fixes to the RPM spec file.

2002-09-27 21:15  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS: Updated the NEWS file.

2002-09-27 21:10  Pierre Phaneuf <pp@ludusdesign.com>

	* .cvsignore, Makefile, config/rules.mk, dist/xplc.spec.in: Added
	support for easily making RPM packages for XPLC and made sure that
	we did not put the unneeded "autom4te.cache" file in the
	distribution.

2002-09-27 15:11  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, config/version.mk, include/xplc/IObject.h,
	include/xplc/config.h, include/xplc/module.h, xplc/loader.cpp,
	xplc/moduleloader.cpp: Cleaned up Stphane's Win32 fixes, added a
	"config.h" file that works with or without Autoconf support,
	updated copyright notices for Stphane's fixes, updated the NEWS
	file and the version number.

2002-09-20 21:50  Stphane Lajoie <dada@ludusdesign.com>

	* xplc.sln, xplc.vcproj, tests/testobj.vcproj, tests/tests.vcproj:
	These are the .NET project files.  In order to forestall some
	silliness, here's a warning: they'll probably stop working if they
	are moved around just for the fun of it.

2002-09-20 20:07  Stphane Lajoie <dada@ludusdesign.com>

	* include/xplc/IObject.h, include/xplc/module.h, xplc/loader.cpp,
	xplc/moduleloader.cpp: Removed protected operator delete from
	IObject.  Fixed ENTRYPOINT definition for Visual C++.  Added
	alternative implementation of dll functions for Win32.

2002-09-20 19:40  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk: Every time we run autoconf, we should run
	autoheader as well, just in case.

2002-09-20 18:52  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.in, include/xplc/.cvsignore, xplc/loader.cpp,
	xplc/moduleloader.cpp: Converted the uses of dirent.h and dlfcn.h
	to be portable (using autoconf).

2002-09-20 16:30  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: moduleloader.cpp, moduleloader.h: Renamed ModuleList to
	ModuleNode, to be consistent with HandlerNode, MonikerNode and
	ObjectNode.

2002-09-20 15:55  Pierre Phaneuf <pp@ludusdesign.com>

	* .cvsignore: Added a new autoconf-related file to the top-level
	.cvsignore.

2002-09-14 04:23  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, config/version.mk: Releasing XPLC 0.1.4.

2002-09-13 20:07  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test004.cpp, tests/testobj.cpp, xplc/xplc.cpp: Fixing
	memory leaks, trying to shut up Valgrind (NIT).

2002-09-13 19:58  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/singleloader.cpp: Moved some code around for clarity (NIT).

2002-09-13 19:45  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/servmgr.cpp: Simplified/optimized ServiceManager::shutdown
	(NIT).

2002-09-13 19:41  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/trace.h: Added the "this" pointer in the debug
	output of TraceComponent (NIT).

2002-09-13 18:48  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IModuleLoader.h, include/xplc/module.h,
	tests/test009.cpp, xplc/moduleloader.cpp, xplc/moduleloader.h,
	xplc/xplc.cpp: Added an implementation of the module loader (NIT).

2002-09-12 03:56  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IModuleLoader.h, include/xplc/xplc.h, tests/test.h,
	tests/test009.cpp, tests/testmain.cpp: Added an IModuleLoader
	interface, and started a unit test for its coming implementation.

2002-09-12 03:54  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/xplc.h, tests/rules.mk, tests/test004.cpp,
	xplc/simpledl.cpp, xplc/simpledl.h, xplc/singleloader.cpp,
	xplc/singleloader.h, xplc/xplc.cpp: Renamed the "simple dynamic
	loader" to "single module loader", for consistency. Also made the
	test suite change into its directory before being run.

2002-09-12 03:50  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ISingleModuleLoader.h: Removed an old irrelevant
	(and possibly misleading) comment.

2002-06-28 16:56  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/: .cvsignore, rules.mk, test.h, test000.cpp, test001.cpp,
	test002.cpp, test003.cpp, test004.cpp, test005.cpp, test006.cpp,
	test007.cpp, test008.cpp, testmain.cpp, testobj.cpp, testobj.h,
	vars.mk: This is the new all-dancing, all-singing single binary
	test suite. May the Win32 developers rejoice.

2002-06-28 16:53  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: servmgr.cpp, servmgr.h, xplc.cpp: Added a feature to
	ServiceManager so that it can clear out the pointer it is assigned
	to when it disappear (fixes a bug where calling
	XPLC::getServiceManager after the service manager died (because the
	refcount went to zero) gave you an invalid pointer).

2002-06-28 16:51  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: rules.mk, vars.mk: Moved the definition of the
	LIBXPLC_OBJS from the rules.mk to the vars.mk, where it really
	belongs (it *is* a variable, and not a rule, after all).

2002-06-28 16:49  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk: Made the clean targets clearer about the files
	that it will delete.

2002-06-27 18:27  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IFactory.h, include/xplc/IGenericFactory.h,
	include/xplc/IModule.h, include/xplc/IMoniker.h,
	include/xplc/IMonikerService.h, include/xplc/IObject.h,
	include/xplc/IServiceHandler.h, include/xplc/IServiceManager.h,
	include/xplc/ISingleModuleLoader.h,
	include/xplc/IStaticServiceHandler.h, tests/test.h: Reformatted
	DEFINE_UUID declarations.

2002-06-27 18:26  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ISimpleDynamicLoader.h,
	include/xplc/ISingleModuleLoader.h, xplc/simpledl.cpp,
	xplc/simpledl.h: Renamed ISimpleDynamicLoader to
	ISingleModuleLoader.

2002-06-21 21:13  Pierre Phaneuf <pp@ludusdesign.com>

	* Makefile: Remove any other shared objects in the top-level
	directory, even if they are not the same version (for when we just
	updated the version number).

2002-06-14 20:46  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IServiceManager.h: IServiceManager now derives from
	IServiceHandler instead of IObject.

2002-06-14 20:22  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.in, config/config.mk.in, xplc/rules.mk: Added
	support for FreeBSD.

2002-06-07 20:29  Pierre Phaneuf <pp@ludusdesign.com>

	* config/version.mk: Release 0.1.3

2002-06-07 20:27  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, config/rules.mk, xplc/rules.mk, xplc/vars.mk: Renamed the
	static library libxplc.a and added a libxplc_s.a symbolic link
	pointing to it.

2002-06-07 20:12  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, configure.in, config/config.mk.in, config/vars.mk,
	include/xplc/IFactory.h, include/xplc/IGenericFactory.h,
	include/xplc/IModule.h, include/xplc/IMoniker.h,
	include/xplc/IMonikerService.h, include/xplc/IObject.h,
	include/xplc/IServiceHandler.h, include/xplc/IServiceManager.h,
	include/xplc/ISimpleDynamicLoader.h,
	include/xplc/IStaticServiceHandler.h: Added a way to mark unstable
	interfaces as such, so that you cannot accidentally use an unstable
	interface (there is a 'configure' switch to allow unstable
	interfaces, and unstable releases of XPLC have it enabled by
	default).

2002-06-07 20:08  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS: Updated the NEWS file.

2002-06-06 14:12  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/module.h, xplc/simpledl.cpp: Added the missing
	parameters to XPLC_GetModule, made a prototype and typedef for
	XPLC_GetModule.

2002-05-31 21:38  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk: Added an "uninstall" make target.

2002-05-31 21:34  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/simpledl.h: Oops, actually initialize the
	SimpleDynamicLoader::module member variable.

2002-05-31 21:33  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/simpledl.cpp: Removed the now useless
	SimpleDynamicLoader::createObject method, made the
	SimpleDynamicLoader release the module properly and initialize the
	"module" member variable to zero.

2002-05-31 20:52  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/simpledl.cpp: Fixed an automatic cast warning (NIT).

2002-05-25 00:11  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, include/xplc/ISimpleDynamicLoader.h, tests/rules.mk,
	xplc/simpledl.cpp, xplc/simpledl.h: Updated the NEWS file and
	copyright notices.

2002-05-24 21:18  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IModule.h, include/xplc/ISimpleDynamicLoader.h,
	xplc/monikernode.h, xplc/simpledl.cpp, xplc/simpledl.h: Converted
	the simple dynamic loader to use the same kind of modules that the
	regular dynamic loader will use.

2002-05-24 21:14  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: loader.cpp, loader.h: Added an platform-independent
	dlopen/LoadLibrary abstraction.

2002-05-17 15:42  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/rules.mk: Do not stop the tests at the first error, just
	show the errors and carry on.

2002-05-03 15:41  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ISimpleDynamicLoader.h: Small formatting fix.

2002-03-29 23:37  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/rules.mk: libxplc.so depends on libdl.so (NIT).

2002-03-29 23:36  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk: Make a symbolic link from libxplc.so to the
	installed version.

2002-03-29 23:36  Pierre Phaneuf <pp@ludusdesign.com>

	* INSTALL: Updated installation instruction (NIT).

2002-03-29 23:28  Pierre Phaneuf <pp@ludusdesign.com>

	* INSTALL, config/config.mk.in, config/rules.mk: Added an "install"
	makefile target.

2002-03-29 23:21  Pierre Phaneuf <pp@ludusdesign.com>

	* Makefile: "make realclean" should remove the README (NIT).

2002-03-29 23:20  Pierre Phaneuf <pp@ludusdesign.com>

	* .cvsignore, README, config/rules.mk, dist/README.in: Generate the
	README file to incorporate the version number from version.mk.

2002-03-29 23:12  Pierre Phaneuf <pp@ludusdesign.com>

	* config/vars.mk, xplc/rules.mk, xplc/vars.mk: Made the shared
	library have the version number in its filename, and set an
	appropriate soname, for binary compatibility.

2002-03-29 23:09  Pierre Phaneuf <pp@ludusdesign.com>

	* Makefile, config/version.mk: Added a central place to set the
	version number of the package.

2002-03-29 21:26  Pierre Phaneuf <pp@ludusdesign.com>

	* config/: config.mk.in, vars.mk: Moved most of the
	variable-setting login from config.mk.in to config/vars.mk, cleaned
	up some of the code to make it clearer, removed old debugging code
	(NIT).

2002-03-29 21:19  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk: Automatically run autoconf (NIT).

2002-03-29 21:18  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: rules.mk, vars.mk: Moved the targets to the top-level
	directory (NIT).

2002-03-29 21:09  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: new.cpp, statichandler.cpp: Updated copyright information
	(NIT).

2002-03-29 19:57  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, include/xplc/xplc.h, tests/vars.mk, xplc/new.cpp,
	xplc/xplc.cpp: Finished the "new" moniker, added an entry to the
	NEWS file, added its UUID to the defined monikers, reformatted the
	UUIDs in xplc.h for readability, fixed a bug in the corresponding
	test.

2002-03-29 19:54  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/statichandler.cpp: Prevent adding a null object.

2002-03-25 04:14  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/vars.mk, xplc/new.cpp, xplc/new.h: Ongoing work on a "new"
	moniker (test is disabled).

2002-03-24 21:53  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS: Added a note about the changed names of the interface
	manipulation templated functions.

2002-03-24 21:30  Pierre Phaneuf <pp@ludusdesign.com>

	* config.guess, config.sub: Updated autoconf files.

2002-03-24 21:18  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/monikers.cpp: Finished the moniker service with support for
	sub-monikers.

2002-03-24 20:15  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, xplc/xplc.cpp: The getInterface templated
	function was conflicting with the IObject method of same name,
	which required prepending invocations of the templated function
	with "::". I decided to shorten the name of the templated functions
	getInterface and mutateInterface to "get" and "mutate".
	
	I'm slightly worried about these being too generic and prone to
	conflicting with other things outside of XPLC, we'll see.

2002-03-24 06:53  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS: Added the moniker service to the NEWS file.

2002-03-24 06:44  Pierre Phaneuf <pp@ludusdesign.com>

	* config/vars.mk, include/xplc/IMoniker.h,
	include/xplc/IMonikerService.h, include/xplc/IServiceHandler.h,
	include/xplc/IServiceManager.h,
	include/xplc/ISimpleDynamicLoader.h, include/xplc/trace.h,
	include/xplc/utils.h, include/xplc/uuid.h, tests/rules.mk,
	tests/test.h, tests/testmain.cpp, xplc/factory.cpp,
	xplc/handlernode.h, xplc/servmgr.cpp, xplc/servmgr.h,
	xplc/simpledl.cpp, xplc/simpledl.h, xplc/statichandler.cpp,
	xplc/statichandler.h: Updated copyright notices.

2002-03-24 06:43  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/xplc.h, tests/vars.mk, xplc/xplc.cpp: Integration of
	the initial implementation of the moniker service (NIT).

2002-03-23 21:30  Pierre Phaneuf <pp@ludusdesign.com>

	* config/config.mk.in: Enable getting base CXXFLAGS from the
	command line of make (NIT).

2002-03-23 21:29  Pierre Phaneuf <pp@ludusdesign.com>

	* config/rules.mk: Clean up CVS leftover files and updated
	copyrights (NIT).

2002-03-23 21:12  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: monikernode.h, monikers.cpp, monikers.h: Initial
	implementation of the moniker service (NIT).

2002-03-22 22:28  Pierre Phaneuf <pp@ludusdesign.com>

	* README: Let's thank Net Integration Technologies for things like
	paying me a day a week to work on XPLC, ok? :-)

2002-03-21 06:18  Pierre Phaneuf <pp@ludusdesign.com>

	* config/: rules.mk, vars.mk: Do not require autoconf or configure
	to be run for some simpler targets.

2002-03-20 21:00  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS: Updated the NEWS file with current information.

2002-03-20 17:50  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IMonikerService.h: Added a IMonikerService
	interface, for the general moniker service component.

2002-03-20 17:49  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IServiceHandler.h, xplc/handlernode.h,
	xplc/statichandler.cpp, xplc/statichandler.h: Added a shutdown()
	method to the IServiceHandler interface, to reflect the method of
	same name in the IServiceManager interface and to break any
	ownership loop between a service handler and its subobjects.

2002-03-20 17:44  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.in, config/config.mk.in: Fixed a buglet in the "enable
	fatal warnings" option.

2002-03-20 17:35  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/xplc.cpp: Do not keep a long-lived reference to the static
	service handler. This was done thinking about a potential
	XPLC::addObject function, but this function will not exist ("you
	are not going to need it").

2002-03-20 17:31  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test.h: Added a test object factory, and made the test
	object detect any illegal access after being destroyed.

2002-03-19 16:42  Pierre Phaneuf <pp@ludusdesign.com>

	* README: Trying to promote warning-free coding.

2002-03-19 16:40  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.in, config/config.mk.in: Added a configure script
	option to make warnings stop the build.

2002-03-19 05:08  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/uuid.h: Added toString and fromString methods to
	struct UUID.

2002-03-19 05:06  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/: IMoniker.h, xplc.h: Checkpointing work on
	monikers.

2002-03-19 05:00  Pierre Phaneuf <pp@ludusdesign.com>

	* config/config.mk.in: Restoring developer private DEBUG_xxx
	functionality.

2002-03-08 06:13  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/: trace.h, utils.h: The tracing mix-in template has
	been moved to a separate header, so that one does not include
	stdio.h simply by defining DEBUG. This header also only work if
	DEBUG is defined, on purpose.

2002-03-08 05:12  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h: Turned the conditionnally compiled tracing
	calls in the generic component mix-in template into a separate
	mix-in template of its own. There is a downside: stdio.h is now
	included whenever DEBUG is defined.

2002-03-08 04:28  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.in, config/config.mk.in: Folded the
	--enable-private-debug option into --enable-debug.

2001-09-21 06:59  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.in, config/config.mk.in: Separated the regular debug
	"configure" option and the private debugging option.

2001-09-21 06:29  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/vars.mk: Added a placeholder test for monikers.

2001-09-21 06:06  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS, config/config.mk.in: Made the --enable-debug option to the
	"configure" script define a DEBUG_{username} preprocessor variable
	(with the user name as given by "whoami", for example "DEBUG_pp")
	as well as a "make" variable DEBUG also containing the user name.
	
	Also made the --disable-debug option (the default) set a NDEBUG
	preprocessor variable.

2001-09-21 06:00  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/: rules.mk, vars.mk: Defining the TESTS variable should be
	done in the vars.mk file.

2001-07-26 20:32  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.in: Clarification of the configure --help.

2001-06-13 22:24  Pierre Phaneuf <pp@ludusdesign.com>

	* README: Release 0.1.1

2001-06-09 00:20  Pierre Phaneuf <pp@ludusdesign.com>

	* NEWS: Added a NEWS file.

2001-06-08 23:51  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.in, config/config.mk.in: Added separate options to
	enable debug info, disable optimizations, disable warnings, enable
	RTTI and enable exceptions.

2001-06-08 22:17  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, include/xplc/uuid.h, xplc/simpledl.cpp: A
	few corrections, including the incredible C++ cast from hell, to
	make gcc happy with the -Wold-style-cast option enabled.

2001-06-08 21:21  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IServiceManager.h, xplc/handlernode.h,
	xplc/servmgr.cpp, xplc/servmgr.h: Added addFirstHandler and
	addLastHandler methods to the IServiceManager interface. This fixes
	bug #431200.
	
	I am not 100% sure of this code, I have some unfavorable feeling
	about it. I asked Stphane Lajoie to review it, but he declined the
	offer, on the basis that he doesn't do or understand any hand-coded
	algorithms that the STL does. :-)

2001-06-08 21:16  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/simpledl.cpp: Removed the code that added the
	platform-dependent extension to dynamically loaded files. I think
	that it fits with the XPLC philosophy that the client code should
	be able to specify in full the name of the file, even if it is not
	consistent with the platform. For example, a program could choose
	to have a .plg for its plugins.
	
	Accordingly, I changed the test code to always use the .dll
	extension, even on non-Win32 platforms. I would have preferred to
	use an extension like .dso (that is alien to *every* platform I
	know, to test any stupid dependency on the filename), but making
	Visual C++ generate a DLL with a different extension could possibly
	make you go insane, so I spared my Win32 colleagues a bit. :-)
	
	Also, this removes the (unfortunately) bloating STL dependency that
	came with that "feature", without turning to C-style char*
	juggling.

2001-06-08 21:03  Pierre Phaneuf <pp@ludusdesign.com>

	* config/config.mk.in: Disabled RTTI and exceptions. I am not 100%
	sure that this will not make the library incompatible with code
	compiled with RTTI and/or exceptions.

2001-06-08 15:32  Pierre Phaneuf <pp@ludusdesign.com>

	* config/: cvs-users, rules.mk, vars.mk: Added a "dist" makefile
	target to automate release work. Also automated ChangeLog
	generation.

2001-06-08 15:07  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/rules.mk: Stop if any test fail, instead of only the last
	one.

2001-06-07 01:38  Pierre Phaneuf <pp@ludusdesign.com>

	* README: Release 0.1.0

2001-06-07 01:37  Pierre Phaneuf <pp@ludusdesign.com>

	* CREDITS: Added a CREDITS file.

2001-06-07 01:35  Pierre Phaneuf <pp@ludusdesign.com>

	* .cvsignore: Ignore the ChangeLog file, it is machine-generated
	from the CVS database and is thus not included in CVS.

2001-06-07 01:28  Pierre Phaneuf <pp@ludusdesign.com>

	* README: Added a README file.

2001-06-07 01:10  Pierre Phaneuf <pp@ludusdesign.com>

	* INSTALL: Initial commit of an INSTALL file for people to look at.

2001-06-07 01:08  Pierre Phaneuf <pp@ludusdesign.com>

	* LICENSE: We use the Lesser General Public License.

2001-01-27 21:00  Stphane Lajoie <dada@ludusdesign.com>

	* include/xplc/uuid.h, xplc/simpledl.cpp: 
	Fixed bad #ifdef.

2001-01-16 13:42  Stphane Lajoie <dada@ludusdesign.com>

	* xplc/simpledl.cpp: 
	Sort of removed platform-specific crap from test005. This changes
	the simple dynamic loader interface in that the file extension (.so
	or .dll) must NOT be specified now. The platform-specific code will
	append the proper extension.
	
	Also, the path to the test component is no longer specified in the
	test. This works under Windows because the LoadLibrary API looks in
	many different places for the .dll file, including the directory
	from which the calling process' exe was loaded (so it's not a
	coincidence that the testcomponent project now outputs the dll in
	test005/).

2001-01-13 05:51  Stphane Lajoie <dada@ludusdesign.com>

	* .cvsignore: 
	Ignore MSDev byproducts.

2001-01-13 05:47  Stphane Lajoie <dada@ludusdesign.com>

	* xplc.dsp: 
	Added MSDev project files for all projects.

2001-01-13 05:38  Stphane Lajoie <dada@ludusdesign.com>

	* include/xplc/ISimpleDynamicLoader.h, include/xplc/utils.h,
	include/xplc/uuid.h, tests/test.h, tests/testmain.cpp,
	xplc/factory.cpp, xplc/servmgr.cpp, xplc/servmgr.h,
	xplc/simpledl.cpp, xplc/simpledl.h, xplc/statichandler.cpp,
	xplc/statichandler.h, xplc/xplc.cpp: 
	Changed all NULL to 0. That's supposedly "the C++ way". Makes it
	work on Doze too :).  Fixed all MSDev warnings (this so-called
	"performance warning" is the most idiotic thing out of Microsoft
	ever, and that's saying something).  Adapted the wizardry in
	xplc/uuid.h to MS compiler.  Implemented the Win32 version of the
	simple dynamic loader.
	
	NOTE: I may have broken the Linux build with my new #ifdefs, as I'm
	not sure of the proper symbol names under Linux. So please don't
	take this code on faith :).

2000-12-28 19:40  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/vars.mk: We were not cleaning up the test binaries, as they
	were not part of the targets, corrected this.

2000-12-23 01:19  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/xplc.h, xplc/xplc.cpp: XPLC::getServiceManager now
	uses the factory of generic factory to create factories for its
	other components. The static service handler is now directly
	available through the service manager instead of being undirectly
	accessed through XPLC::addObject and XPLC::removeObject.

2000-12-22 20:57  Pierre Phaneuf <pp@ludusdesign.com>

	* config/: config.mk.in, vars.mk: Removed the unused libidl
	configuration from the makefiles, as it added a useless dependency.
	Also made the dependency file part of the distribution, so that
	users do not have to generate it.

2000-12-14 01:04  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: simpledl.cpp, simpledl.h, xplc.cpp: Working implementation
	of the simple dynamic loader and its unit test.  Made the
	XPLC::getServiceManager() method populate the static service
	handler with XPLC's own components.

2000-12-14 01:02  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: factory.cpp, factory.h: Changed the create() method to
	return a IObject* instead.

2000-12-14 00:48  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/xplc.h: Added UUIDs for included components.

2000-12-14 00:31  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: factory.cpp, factory.h: Added a generic factory component
	and its accompanying unit test.

2000-12-14 00:18  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IGenericFactory.h: Fixed the original tentative
	version.

2000-12-14 00:17  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/ISimpleDynamicLoader.h: Clarified an important
	interface-defining comment.

2000-12-14 00:15  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IFactory.h, include/xplc/IGenericFactory.h,
	include/xplc/IObject.h, include/xplc/IServiceHandler.h,
	include/xplc/IServiceManager.h,
	include/xplc/ISimpleDynamicLoader.h,
	include/xplc/IStaticServiceHandler.h, include/xplc/uuid.h,
	tests/test.h: Changed DEFINE_IID to the more generic DEFINE_UUID.

2000-12-12 23:06  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IFactory.h, include/xplc/IGenericFactory.h,
	include/xplc/ISimpleDynamicLoader.h, xplc/simpledl.cpp,
	xplc/simpledl.h: In progress factory interfaces and simple dynamic
	loader component (stubbed for the moment).

2000-12-12 17:03  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IObject.h, include/xplc/IServiceHandler.h,
	include/xplc/IServiceManager.h,
	include/xplc/IStaticServiceHandler.h, include/xplc/uuid.h,
	tests/test.h: Replaced all uses of __attribute__((weak)) by a macro
	so that we can more easily replace that non-portable extension by
	something else.

2000-12-11 07:19  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IObject.h, include/xplc/IStaticServiceHandler.h,
	include/xplc/utils.h, include/xplc/xplc.h, tests/test.h,
	xplc/objectnode.h, xplc/statichandler.cpp, xplc/statichandler.h,
	xplc/xplc.cpp: Added a static service handler (to handle statically
	linked components), as well as its test suite. Added its two
	methods to the XPLC class to let applications register their own
	static components, in addition to those that (will be) are built
	into XPLC.

2000-12-11 03:55  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.in, config/config.mk.in: Removed the non-working IDL
	compiler. This will be revived in time, but is confusing for the
	moment.

2000-12-11 02:35  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IServiceHandler.h, include/xplc/IServiceManager.h,
	include/xplc/IServiceManagerHandler.h, xplc/handlernode.h,
	xplc/objectnode.h, xplc/servmgr.cpp, xplc/servmgr.h: Cleaned up the
	design of the service manager by spinning off its object directory
	away. The service manager now only has a list of handlers from
	which to ask about the requested objects.
	
	The previous object directory functionality will return in a
	soon-to-come "static" service handler.

2000-12-10 07:14  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/: IServiceHandler.h, IServiceManagerHandler.h:
	Fixing a CVS glitch.

2000-12-10 07:11  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/: IServiceHandler.h, IServiceManagerHandler.h:
	Corrected a minor CVS glitch.

2000-12-10 07:05  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IServiceHandler.h, include/xplc/IServiceManager.h,
	include/xplc/IServiceManagerHandler.h, xplc/handlernode.h,
	xplc/servmgr.cpp, xplc/servmgr.h: Checkpointing a sizable change
	into a branch, to be landed later.

2000-11-27 02:35  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/: test.h, testmain.cpp: Improved the test suite to report
	multiple problems in a single run if the problems are not fatal.

2000-11-13 00:01  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.in: I like nice formatting. :-)

2000-10-23 14:42  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h: Calling ::delete with a void* is not
	correct, but calling ::operator delete() is.

2000-08-03 21:00  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/: .cvsignore, rules.mk, test.cpp, test000.cpp, test001.cpp,
	test002.cpp, testmain.cpp, vars.mk: Refactored the test scaffolding
	to allow unit and functional tests that have more than a single
	source file.

2000-07-14 19:00  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IServiceManagerHandler.h: Added a comment clarifying
	the semantics of this interface in a critical manner.

2000-07-14 18:59  Pierre Phaneuf <pp@ludusdesign.com>

	* config/config.mk.in: Using many variables depends on having some
	variables previously defined.

2000-07-14 18:57  Pierre Phaneuf <pp@ludusdesign.com>

	* config/vars.mk, xplc/rules.mk: Fix for a problem with the Solaris
	'ar'.

2000-06-20 23:28  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.in: Added a comment to the configure script help
	advising that the IDL compiler is broken.

2000-06-20 20:53  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: servmgr.cpp, servmgr.h, xplc.cpp: Let the component do the
	work...

2000-06-20 20:48  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h: Missing include, was working most of the
	time, but was dependent on proper ordering of #include directives.

2000-06-16 21:26  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IServiceManagerHandler.h, xplc/handlernode.h,
	xplc/servmgr.cpp, xplc/servmgr.h: Started adding the hooks for
	service manager handlers.

2000-06-16 21:18  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/servmgr.cpp: Fixed a typo.

2000-06-16 21:07  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: objectnode.h, servmgr.cpp, servmgr.h: Separated the
	ObjectNode class into its own header file for clarity, renamed the
	"registered" member to "objects" for consistency and added a
	constructor with an initialization list to ServiceManager for
	correctness.

2000-06-16 20:59  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/servmgr.cpp: Made some improvements and added comments to
	the getObject method.

2000-06-16 20:53  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IServiceManager.h, tests/test002.cpp,
	xplc/servmgr.cpp, xplc/servmgr.h: Renamed methods in the
	IServiceManager interface, for simplification (there is no other
	way to get an object than by UUID!) and brevity.

2000-06-16 20:39  Pierre Phaneuf <pp@ludusdesign.com>

	* config/: rules.mk, vars.mk: Added yet another level of
	cleanliness (hey, it's spring).

2000-06-16 20:05  Pierre Phaneuf <pp@ludusdesign.com>

	* Makefile, config/config.mk.in, config/rules.mk, config/vars.mk:
	Added 'distclean' and 'realclean' targets to Makefiles, for various
	degrees of cleanliness.

2000-06-15 21:55  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: servmgr.cpp, servmgr.h: Fleshed out the unregistering
	method and turned the ObjectNode struct into a class with
	constructor and destructor to take care of the object addRef() and
	release().

2000-06-15 21:45  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test002.cpp: Code to verify proper unregistration was
	added.

2000-06-15 21:43  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h: All the debugging output is quite
	voluminous, so I put a separate switch for the addRef()/release(),
	which cuts it down sizably.

2000-06-13 20:18  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, tests/test002.cpp: Added some comments, two
	templated functions that perform getInterface in a typesafe manner,
	and modified test002 to use one of these templated function.

2000-06-13 18:34  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test002.cpp, xplc/servmgr.cpp, xplc/servmgr.h: Started
	fleshing out functionality (yet to be optimized!) and added a test
	to verify that functionality.

2000-06-13 18:33  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h: Added heavy debugging info to the
	GenericComponent template.

2000-06-13 16:03  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/: test000.cpp, test001.cpp: Separated test000 to make each
	test verify an isolated part of the system.

2000-06-13 15:55  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, xplc/xplc.cpp: Changed the name of the
	basic component template to something that makes more sense and
	added an initializer for the reference count (oops!). :-)

2000-06-13 15:33  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/utils.h, xplc/servmgr.cpp, xplc/servmgr.h,
	xplc/xplc.cpp: Added a utility header containing a shim template to
	help implement basic IObject methods.

2000-06-08 22:38  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IServiceManager.h, tests/test000.cpp,
	xplc/servmgr.cpp, xplc/servmgr.h: Changed the signature of
	IServiceManager, adjusting the service manager and added real
	addRef/release/getInterface implementations.

2000-06-08 22:37  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/xplc.cpp: Service manager was not a singleton: fixed.

2000-06-08 22:35  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/: IObject.h, IServiceManager.h: Initialization of
	the IID static member done through weak symbol.

2000-06-07 16:48  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/rules.mk: Fixed linking options.

2000-06-07 16:47  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/: test.cpp, test.h, test000.cpp: Added a reason for
	failure, to help identify problems.

2000-06-07 16:19  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.in, config/config.mk.in: Added a 'configure' switch to
	enable compilation of IDL compiler.

2000-06-07 16:12  Pierre Phaneuf <pp@ludusdesign.com>

	* config/vars.mk: Have 'make clean' also removes core files.

2000-05-30 13:42  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/test.cpp: Small modification in the output of the testing
	main(), to allow for test code that generates output.

2000-05-29 19:08  Pierre Phaneuf <pp@ludusdesign.com>

	* config/config.mk.in: Checkpointing the start of an IDL compiler
	(based on libIDL).

2000-01-31 05:06  Pierre Phaneuf <pp@ludusdesign.com>

	* xplc/: servmgr.cpp, servmgr.h, xplc.cpp: Introducing a service
	manager implementation.

2000-01-31 05:06  Pierre Phaneuf <pp@ludusdesign.com>

	* config/vars.mk, tests/rules.mk, xplc/vars.mk: Improvements to the
	build system.

2000-01-31 05:05  Pierre Phaneuf <pp@ludusdesign.com>

	* configure.in, config/config.mk.in: Adding support for CXXFLAGS
	env. var. while ignoring stupid default.

2000-01-30 05:48  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/: rules.mk, test.cpp, test.h, test000.cpp, vars.mk: Moved
	some common code into a separate source file.

2000-01-30 05:38  Pierre Phaneuf <pp@ludusdesign.com>

	* tests/: .cvsignore, rules.mk, test000.cpp, vars.mk: Beginnings of
	a test suite.

2000-01-30 05:37  Pierre Phaneuf <pp@ludusdesign.com>

	* config/vars.mk, xplc/rules.mk, xplc/vars.mk: Added support for
	both static and shared libraries.

2000-01-30 05:35  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/IServiceManager.h, include/xplc/xplc.h,
	xplc/xplc.cpp: Started adding some meat.

2000-01-30 05:34  Pierre Phaneuf <pp@ludusdesign.com>

	* include/xplc/uuid.h: Fixed a "typo" that was introduced by
	copying/pasting code from proto5.  Lesson learned.

2000-01-29 21:07  Pierre Phaneuf <pp@ludusdesign.com>

	* Makefile, configure.in, config/config.mk.in, config/rules.mk:
	Added support for an --enable-debug flag to configure and checks
	whether configure was ran before building anything or doing
	dependencies.

2000-01-28 23:36  Pierre Phaneuf <pp@ludusdesign.com>

	* Makefile, config/.cvsignore, config/config.mk.in, config/main.mk,
	config/rules.mk, config/vars.mk, xplc/rules.mk, xplc/vars.mk: Added
	auto-dependencies and further build system work.

2000-01-28 05:20  Pierre Phaneuf <pp@ludusdesign.com>

	* .cvsignore, Makefile, Makefile.in, config.h.in, configure.in,
	config/.cvsignore, config/config.mk.in, config/main.mk,
	config/rules.mk, config/vars.mk, include/xplc/xplc.h,
	xplc/rules.mk, xplc/vars.mk, xplc/xplc.cpp: Checkpointing work done
	on the build system.

2000-01-28 00:24  Pierre Phaneuf <pp@ludusdesign.com>

	* .cvsignore, Makefile.in, config.guess, config.h.in, config.sub,
	configure.in, install-sh, include/xplc/IObject.h,
	include/xplc/uuid.h, include/xplc/xplc.h: Checkpointing initial
	work.

