Source code template library for encapsulation of highly-visible program data. Provides storage, access control, and duplication. Enforces modular access pattern, restricting normal functions from object access. Also protects simple objects and POD.
Be the first to post a text review of GlobalSentry C++ Object Protection. Rate and review a project by clicking thumbs up or thumbs down in the right column.
3.0.1 - *Version 3.0* [ 28 May 2007 ] Made a few important bug fixes. Fixed mutex problem with derivative_ capsule. Changed return type of access proxy classes 'operator *' to reference.
3.0.1 - *Version 3.0* [ 28 May 2007 ] Made a few important bug fixes. Fixed mutex problem with derivative_ capsule. Changed return type of access proxy classes 'operator *' to reference.
3.0.0 - *Version 3.0* [ 06 May 2007 ] Renamed library to GlobalSentry from Capsule to be less generic. Added the Unix header/source files to support threaded capsule access on Unix systems. Changed the return type of module entry points from bool to entry_result to allow for multiple failure types. Made a few small code fixes. Added support for arrays.
3.0.0 - *Version 3.0* [ 06 May 2007 ] Renamed library to GlobalSentry from Capsule to be less generic. Added the Unix header/source files to support threaded capsule access on Unix systems. Changed the return type of module entry points from bool to entry_result to allow for multiple failure types. Made a few small code fixes. Added support for arrays.
As you may or may not have noticed, this release marks a change in name of the Capsule library to GlobalSentry. I made this change to help differentiate the project from the vast selection of other libraries it might seem a duplication of. This library is headed in the direction of specialization for multi-threaded data access control on a wide range of systems, although it serves (and will continue to serve) useful purposes far beyond that. All of the classes in this library retain their previous names, however the main include header holds the new name of the library. I also added a header/source pair for Unix-similar systems to provide timed access-retry control and less-harsh capsule destruction. The access-retry control allows a thread to attempt access to locked objects for a given interval of time before giving up, accelerating the retry time as time passes to gain an advantage over lesser-waiting threads when the object becomes unlocked. The library retains full functionality on all non-Unix systems; this header is provided in addition for Unix systems. For all systems, I've added the ability to encapsulate fixed-size arrays (e.g. 'int[10]'.) This can be used in a manner similar to storing a dynamically-allocated array in a pointer. I am using this library as a core component of a new project of mine "Resourcerver" (http://sourceforge.net/projects/resourcerver/), a service-based infrastructure for applications divided into groups of specialized programs. That project will serve as a test bed for this library and will probably result in some improvements as it progresses. Thank you for taking an interest in my work! Kevin P. Barry
2.1.0 - *Version 2.0* [ 27 January 2007 ] Added condemn function in base class to set mutex prior to destruction. Made viewing_status public in dynamic_capsule so that users can check for viewing before trying to overwrite contents. Added empty_status function to dynamic_capsule. Added capsule_safety_pointer, to be used instead of pointers in module entry points so that the module can check for NULL periodically. Made viewing_status visible in derivative_ capsule and dynamic_capsule.
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?