TweetFollow Us on Twitter

September 93 - CHLockSaver

CHLockSaver

Michael D. Rossetti

Here's a great gift idea for that special person in your life: you! I'll bet that everyone out in that reading audience can use this terrific labor saving device right this very evening: automatically unlocking handles and resources! That's right-you'll never have to worry about balancing your HLocks with HUnlocks ever again! And if you read on you'll see how you can get two additional special gifts for no extra charge: Magic Object Lockers and Charmed Resource Unpurgers.

Using secret C++ technology [constructors and destructors] our scientists [me] have labored for many years [not!] to develop the following class:

class CHLockSaver
{
public:
	CHLockSaver(Handle aHandle)
		: fLockedHandle(aHandle)
		{	fOldState = HGetState(aHandle);
			HLock(aHandle); }
	~CHLockSaver()
		{ HSetState(fLockedHandle, fOldState); }	
protected:
	Handle				fLockedHandle;
	SignedByte			fOldState;
};

To lock a handle simply use a statement like:

CHLockSaver myLocker(myHandle);

(Note: CHLock is pronounced like schlock [so if you use this stuff you can justifiably call yourself a CHLockMeister].)

Like magic you handle gets locked [it's all in the constructor], your countertops shine like new, and…presto…when "myLocker" goes out of scope "myHandle" is restored magically [okay, it's all in the destructor] to its original state.

As promised, here's a couple of free classes which work just like the CHLockSaver. Here's one which will lock down a derivative of TObject:

class COLockSaver
{
public:
	COLockSaver(TObject* anObject)
		: fLockedObject(anObject)
		{ fOldState = anObject->Lock(TRUE); }
	~COLockSaver()
		{ fLockedObject->Lock(fOldState); }
	
protected:
	TObject*		fLockedObject;
	Boolean			fOldState;
};

Here's another class which makes a resource unpurgeable:

class CHPurgeSaver
{
public:
	CHPurgeSaver(Handle aResource)
		: fUnpurgedHandle(aResource)
		{	fOldState = HGetState(aResource);
			HNoPurge(aResource); }
	~CHPurgeSaver()
		{ HSetState(fUnpurgedHandle, fOldState); }
	
protected:
	Handle				fUnpurgedHandle;
	SignedByte			fOldState;
};

Caveat Emptor: CHLockSaver and CHPurgeSaver completely restore the handle's state to its original settings-any state changes which you make before CHLockSaver and CHPurgeSaver go out of scope will be lost.

 
AAPL
$567.96
Apple Inc.
+6.68
MSFT
$29.70
Microsoft Corpora
-0.05
GOOG
$610.12
Google Inc.
-3.99
MacTech Search:
Community Search:

Don’t Cry, Infinity Blade 2 Vault of Tea...
Epic Games and ChAIR Entertainment are putting out the second major update to Infinity Blade 2 this week. The new Vault of Tears update will bring new content to not just ClashMobs, but also to the main game mode. | Read more »
City King Review
City King Review By Rob Rich on May 22nd, 2012 Our Rating: :: FIGHT FOR ITiPhone App - Designed for the iPhone, compatible with the iPad Fight for control over real-world locations (literally!) in this location-based social RPG.   | Read more »
Fieldrunners 2 – Sequel to the Great Tow...
The original Fieldrunners (and iPad version) was one of the first real “wow” games on the iPhone. A game that was everything the new gaming platform needed, fun, amazingly well done, and made you want to play just one more round. Since it’s... | Read more »
Edit Websites Right on the iPad With Gre...
Coda, the Mac OS X software by Panic for editing websites – and not just HTML code, but CSS and MySQL management, terminal support, and other features for truly managing a website – is coming to the iPad this Thursday along with Coda 2 for Mac. Diet... | Read more »
Avernum: Escape from the Pit HD Review
Avernum: Escape from the Pit HD Review By Kevin Stout on May 22nd, 2012 Our Rating: :: INSTANT CLASSICiPad Only App - Designed for the iPad Avernum: Escape from the Pit HD is a classic-style RPG with turn-based combat on tiles.   | Read more »
Sonos Subwoofer, the SONOSSUB, Revealed
Sonos is easily our favorite app enabled audio solution. And today they announce a new device to make it even better. Adding to the Sonos Play:3 and Play:5, we now have the SONOSSUB. As you may have guessed, a subwoofer. This booming beast looks... | Read more »
Domino! Review
Domino! Review By Jason Wadsworth on May 21st, 2012 Our Rating: :: CLASSIC WITH FRIENDSiPhone App - Designed for the iPhone, compatible with the iPad Play dominoes with friends online in this social gaming title.   Developer:... | Read more »

Price Scanner via MacPrices.net

MacBook Pros bundled with discounted AppleCare, sa...
MacConnection has MacBook Pros bundled with discounted AppleCare Protection Plans yielding savings up to $180 off full MSRP: - 13″ 2.4GHz MacBook Pro w/AppleCare: $1378.99 MSRP $1448 - 13″ 2.8GHz... Read more
MacBooks up to $200 off at Apple Store for Educati...
Purchase a new MacBook Pro or MacBook Air at The Apple Store for Education and take up to $200 off MSRP. All teachers, students, and staff of any educational institution qualify for the discount.... Read more
AppleCare on sale for up to $105 off MSRP
B&H Photo has AppleCare Protection Plans for Macs on sale for up to $105 off MSRP including free shipping and NY sales tax only: - AppleCare Mac laptops 15″ and above: $244 MSRP $349 - AppleCare... Read more
27″ iMacs on sale for up to $130 off MSRP
  Apple resellers have 27″ iMacs on sale for up to $130 off MSRP. Each model below includes free shipping – B&H charges NY sales tax only, while Adorama charges sales tax in NY and NJ only: - 27... Read more
Apple offers 16GB iPad 2s for $399
The Apple Store is continuing to offer Black and White 16GB WiFi iPad 2s for $399 including free shipping. WiFi+3G models are available for $529. Each is $100 off their original MSRP and $100 less... Read more
Retina Display MacBooks Might Not Be The Best Idea
CNET’s Dan Ackerman suggests persistent rumors that the forthcoming new generation of Apple’s MacBook Pro laptops may fit in the be careful what you wish for category. Citing his CNET colleagues Josh... Read more
Keyboard The Key To iPad Productivity
Amitae blogger Graham K. Rogers says the iPad is a bit of a mystery to him in terms of it being promoted as a full-scale tool for productivity, noting that he tends to do most of his work on a... Read more
Ashton Kutcher Steve Jobs Movie Begins Filming in...
The film chronicling the life of Apple Inc. co-founder and charismatic master of innovation Steve Jobs begins principal photography in June, and in keeping with the project’s commitment to accuracy... Read more

Jobs Board

iOS Developer (iPhone and iPad) at Mahal...
Mahalo is on a mission to help the world quotLearn Anythingquot by creating high quality educational content available on mobile devices. Were looking to disrupt the education industry in a big way.... Read more
iPhone App at Elance.com (Plano, TX)
Create an iPhone App to do the following: 1. Take a picture at a default resolution 2. Identify the location street ... 5. email the picture, address, text notes and voice notes to an email address.... Read more
Iphone/Ipad App Development at Elance.co...
We are in need of an Iphone/Ipad app that will do the following: - Login and provide functionality to our Jomsocial 2.6 ... done ASAP. Job needs to be started quickly. Please provide time estimates... Read more
MAC Imaging/Packaging, Administration at...
Experience - 4 - 7 yrs Good experience in building MAC ( Apple Macintosh ) operating system images. OS imaging ... Knowledge on configuring the LAN and Wireless network on MAC note books Knowledge on... Read more
Mac/window Imaging/Packaging, Administra...
Experience - 4 - 7 yrs Very good experience in building MAC ( Apple Macintosh ) operating system images. OS imaging ... Requirements - 2 Working knowledge / experience on Apple / Mac OS imaging.... Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.