Deprecated: Assigning the return value of new by reference is deprecated in /home/bluestat/public_html/source/index.php on line 477
DirectoryTool - Blob - ViewGit - Blue Static
/*
 * Directory Tool
 * Copyright (c) 2002 - 2007, Blue Static <http://www.bluestatic.org>
 *
 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
 * General Public License as published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with this program; if not,
 * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
 */

#import <Cocoa/Cocoa.h>
#import <DirectoryService/DirectoryService.h>

/**
 * This macro is used to check a status, and if the status has an error it will
 * perform an NSLog and then return a given value
 *
 * @param	The command to check the status of
 * @param	Log message to use if there's an error
 * @param	Value to return if there is an error
 */
tDirStatus _dirStatus;
#define CK_STATUS(expr, msg) \
	if ((_dirStatus = expr) != eDSNoErr) { \
		NSLog([NSString stringWithFormat:@"%@ (status = %i)", msg, _dirStatus]); \
	}
#define CK_STATUS_R(expr, msg, rtrn) \
	if ((_dirStatus = expr) != eDSNoErr) { \
		NSLog([NSString stringWithFormat:@"BREAKING EXECUTION! %@ (status = %i)", msg, _dirStatus]); \
		return rtrn; \
	}
#define CK_STATUS_C(expr, msg) \
	if ((_dirStatus = expr) != eDSNoErr) { \
		NSLog([NSString stringWithFormat:@"CONTINUING LOOP! %@ (status = %i)", msg, _dirStatus]); \
		continue; \
	}

@interface BSDirectoryService : NSObject
{
	tDirReference dirRef;
}

@property(readonly) tDirReference dirRef;

- (NSArray *)registeredNodes;

@end