/*
* 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